{
 "cells": [
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T02:25:41.606502Z",
     "start_time": "2025-07-16T02:25:36.794946Z"
    }
   },
   "cell_type": "code",
   "source": [
    "from modelscope import AutoModel\n",
    "\n",
    "gpt = AutoModel.from_pretrained(\"openai-community/gpt2\")\n",
    "print(gpt)"
   ],
   "id": "dbba6a3fb340906a",
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/dadudu/miniconda3/envs/mini-gpt/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
      "  from .autonotebook import tqdm as notebook_tqdm\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading Model from https://www.modelscope.cn to directory: /Users/dadudu/.cache/modelscope/hub/models/openai-community/gpt2\n",
      "GPT2Model(\n",
      "  (wte): Embedding(50257, 768)\n",
      "  (wpe): Embedding(1024, 768)\n",
      "  (drop): Dropout(p=0.1, inplace=False)\n",
      "  (h): ModuleList(\n",
      "    (0-11): 12 x GPT2Block(\n",
      "      (ln_1): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
      "      (attn): GPT2Attention(\n",
      "        (c_attn): Conv1D(nf=2304, nx=768)\n",
      "        (c_proj): Conv1D(nf=768, nx=768)\n",
      "        (attn_dropout): Dropout(p=0.1, inplace=False)\n",
      "        (resid_dropout): Dropout(p=0.1, inplace=False)\n",
      "      )\n",
      "      (ln_2): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
      "      (mlp): GPT2MLP(\n",
      "        (c_fc): Conv1D(nf=3072, nx=768)\n",
      "        (c_proj): Conv1D(nf=768, nx=3072)\n",
      "        (act): NewGELUActivation()\n",
      "        (dropout): Dropout(p=0.1, inplace=False)\n",
      "      )\n",
      "    )\n",
      "  )\n",
      "  (ln_f): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
      ")\n"
     ]
    }
   ],
   "execution_count": 1
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T02:25:41.694341Z",
     "start_time": "2025-07-16T02:25:41.689408Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "\n",
    "\n",
    "class MultiHeadAttention(nn.Module):\n",
    "\n",
    "    def __init__(self, embed_dim: int, attn_dim: int, output_dim: int, num_heads: int):\n",
    "        super().__init__()\n",
    "\n",
    "        self.embed_dim = embed_dim\n",
    "        self.attn_dim = attn_dim\n",
    "        self.output_dim = output_dim\n",
    "        self.num_heads = num_heads\n",
    "        self.head_dim = attn_dim // num_heads  # //表示向下取整，attn_dim是head_dim的整数倍\n",
    "\n",
    "        # QKV投影层：从输入维度映射到内部维度\n",
    "        # projection\n",
    "        self.q_proj = nn.Linear(embed_dim, self.attn_dim)\n",
    "        self.k_proj = nn.Linear(embed_dim, self.attn_dim)\n",
    "        self.v_proj = nn.Linear(embed_dim, self.attn_dim)\n",
    "\n",
    "        # 输出投影层：从内部维度映射到输出维度\n",
    "        self.out_proj = nn.Linear(self.attn_dim, self.output_dim)\n",
    "\n",
    "    def forward(self, q_x, k_x, v_x, mask=None):\n",
    "        \"\"\"\n",
    "        输入: [batch_size, seq_len, embed_dim]\n",
    "        返回: [batch_size, seq_len, output_dim]\n",
    "        \"\"\"\n",
    "        batch_size, q_seq_len, embed_dim = q_x.shape\n",
    "        batch_size, k_seq_len, embed_dim = k_x.shape\n",
    "\n",
    "        # 投影到QKV空间\n",
    "        q = self.q_proj(q_x)  # [batch_size, seq_len, attn_dim]\n",
    "        k = self.k_proj(k_x)  # [batch_size, seq_len, attn_dim]\n",
    "        v = self.v_proj(v_x)  # [batch_size, seq_len, attn_dim]\n",
    "\n",
    "        # [batch_size, seq_len, num_heads, head_dim]\n",
    "        # 分割多头 [batch_size, num_heads, seq_len, head_dim]\n",
    "        q = q.view(batch_size, q_seq_len, self.num_heads, self.head_dim).transpose(1, 2)\n",
    "        k = k.view(batch_size, k_seq_len, self.num_heads, self.head_dim).transpose(1, 2)\n",
    "        v = v.view(batch_size, k_seq_len, self.num_heads, self.head_dim).transpose(1, 2)\n",
    "\n",
    "        # 计算注意力得分\n",
    "        # q   [batch_size, num_heads, seq_len, head_dim]\n",
    "        # k.T [batch_size, num_heads, head_dim, seq_len]\n",
    "        # q @ k.T 形状: [batch_size, num_heads, seq_len, seq_len]\n",
    "        attn_scores = torch.matmul(q, k.transpose(-2, -1))\n",
    "\n",
    "        # 缩放因子：防止乘积过大\n",
    "        d_k = k.size(-1)\n",
    "        attn_scores = attn_scores / torch.sqrt(torch.tensor(d_k))\n",
    "\n",
    "        if mask is not None:\n",
    "            attn_scores = attn_scores.masked_fill(mask == 0, float('-inf'))\n",
    "\n",
    "        # 计算注意力权重\n",
    "        attn_weights = torch.softmax(attn_scores, dim=-1)\n",
    "\n",
    "        # 计算注意力输出\n",
    "        # attn_weights [batch_size, num_heads, seq_len, seq_len]\n",
    "        # v            [batch_size, num_heads, seq_len, head_dim]\n",
    "        # [batch_size, num_heads, seq_len, head_dim]\n",
    "        attn_out = torch.matmul(attn_weights, v)\n",
    "\n",
    "        # 合并多头 [batch_size, seq_len, attn_dim]\n",
    "\n",
    "        # [batch_size, seq_len, num_heads, head_dim]\n",
    "        attn_out = attn_out.transpose(1, 2).reshape(batch_size, q_seq_len, self.attn_dim)\n",
    "\n",
    "        # 投影到输出空间\n",
    "        return self.out_proj(attn_out)\n",
    "\n",
    "\n",
    "## Feed Forward，两个线性层，最后输出维度不变\n",
    "class FeedForward(nn.Module):\n",
    "    def __init__(self, d_model, d_ff):\n",
    "        super().__init__()\n",
    "        self.fc1 = nn.Linear(d_model, d_ff)\n",
    "        self.fc2 = nn.Linear(d_ff, d_model)\n",
    "\n",
    "    def forward(self, x):\n",
    "        return self.fc2(torch.relu(self.fc1(x)))"
   ],
   "id": "18ab7a5bcadd48ed",
   "outputs": [],
   "execution_count": 2
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T02:25:41.702728Z",
     "start_time": "2025-07-16T02:25:41.699814Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 定义Decoder\n",
    "class Decoder(nn.Module):\n",
    "    def __init__(self, d_model, d_ff, num_heads, num_decoder_layers):\n",
    "        super().__init__()\n",
    "        self.layers = nn.ModuleList([DecoderLayer(d_model, d_ff, num_heads) for _ in range(num_decoder_layers)])\n",
    "\n",
    "    def forward(self, input_ids, mask=None):\n",
    "        for layer in self.layers:\n",
    "            input_ids = layer(input_ids, mask=mask)\n",
    "        return input_ids\n",
    "\n",
    "\n",
    "# 定义DecoderLayer\n",
    "class DecoderLayer(nn.Module):\n",
    "    def __init__(self, d_model, d_ff, num_heads):\n",
    "        super().__init__()\n",
    "\n",
    "        self.layer_norm1 = nn.LayerNorm(d_model)\n",
    "        self.mha = MultiHeadAttention(embed_dim=d_model, attn_dim=d_model, output_dim=d_model,\n",
    "                                      num_heads=num_heads)\n",
    "        self.layer_norm2 = nn.LayerNorm(d_model)\n",
    "        self.ff = FeedForward(d_model, d_ff)\n",
    "\n",
    "    def forward(self, input_ids, mask=None):\n",
    "        x = self.layer_norm1(input_ids)\n",
    "        x = self.mha(q_x=x, k_x=x, v_x=x, mask=mask) + x  # 注意力和残差连接\n",
    "        x = self.layer_norm2(x)\n",
    "        x = self.ff(x) + x  # 前馈神经网络和残差连接\n",
    "        return x"
   ],
   "id": "e0c7cde92f8e69cb",
   "outputs": [],
   "execution_count": 3
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T02:25:41.710939Z",
     "start_time": "2025-07-16T02:25:41.708082Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# GPT模型\n",
    "# 大都督周瑜（我的微信: it_zhouyu）\n",
    "\n",
    "d_model = 128\n",
    "d_ff = d_model * 2\n",
    "num_heads = 2\n",
    "num_decoder_layers = 2\n",
    "max_seq_len = 5\n",
    "\n",
    "\n",
    "class ZhouyuGPTModel(nn.Module):\n",
    "    def __init__(self, vocab_size, max_seq_len):\n",
    "        super().__init__()\n",
    "        self.wte = nn.Embedding(vocab_size, d_model)\n",
    "        self.wpe = nn.Embedding(max_seq_len, d_model)\n",
    "        self.decoder = Decoder(d_model, d_ff, num_heads, num_decoder_layers)\n",
    "        self.layer_norm = nn.LayerNorm(d_model)\n",
    "\n",
    "        self.lm_head = nn.Linear(d_model, vocab_size)\n",
    "\n",
    "    def forward(self, input_ids, mask=None):\n",
    "        batch_size, seq_len = input_ids.shape\n",
    "\n",
    "        token_embeddings = self.wte(input_ids)\n",
    "\n",
    "        # pos_ids表示词在seq_len中的位置\n",
    "        pos_ids = torch.arange(0, seq_len).unsqueeze(0).repeat(batch_size, 1)\n",
    "        pos_embeddings = self.wpe(pos_ids)\n",
    "\n",
    "        embeddings = token_embeddings + pos_embeddings\n",
    "\n",
    "        decoder_output = self.decoder(embeddings, mask)\n",
    "        decoder_output = self.layer_norm(decoder_output)\n",
    "\n",
    "        return self.lm_head(decoder_output)"
   ],
   "id": "9367724a6ea349b1",
   "outputs": [],
   "execution_count": 4
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T02:25:41.724751Z",
     "start_time": "2025-07-16T02:25:41.717116Z"
    }
   },
   "cell_type": "code",
   "source": [
    "zhouyu_gpt = ZhouyuGPTModel(vocab_size=100, max_seq_len=128)\n",
    "result = zhouyu_gpt(input_ids=torch.randint(0, 100, (1, 128)), mask=torch.ones(1, 128))\n",
    "result.shape"
   ],
   "id": "61009d9b0843b427",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 128, 100])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 5
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T02:25:46.623707Z",
     "start_time": "2025-07-16T02:25:41.732995Z"
    }
   },
   "cell_type": "code",
   "source": [
    "from modelscope import AutoTokenizer\n",
    "\n",
    "gpt_tokenizer = AutoTokenizer.from_pretrained(\"openai-community/gpt2\")\n",
    "gpt_tokenizer.special_tokens_map"
   ],
   "id": "f69c70bb7e68508d",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading Model from https://www.modelscope.cn to directory: /Users/dadudu/.cache/modelscope/hub/models/openai-community/gpt2\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'bos_token': '<|endoftext|>',\n",
       " 'eos_token': '<|endoftext|>',\n",
       " 'unk_token': '<|endoftext|>'}"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 6
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T02:25:46.640729Z",
     "start_time": "2025-07-16T02:25:46.637670Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "from torch.utils.data import Dataset, DataLoader\n",
    "\n",
    "# 独立寒秋\n",
    "# 立寒秋，\n",
    "\n",
    "# 立寒秋，\n",
    "# 寒秋，湘\n",
    "\n",
    "# 示例文本数据，一首诗\n",
    "data = \"\"\"\n",
    "独立寒秋，湘江北去，橘子洲头。\n",
    "看万山红遍，层林尽染；漫江碧透，百舸争流。\n",
    "鹰击长空，鱼翔浅底，万类霜天竞自由。\n",
    "怅寥廓，问苍茫大地，谁主沉浮？\n",
    "携来百侣曾游，忆往昔峥嵘岁月稠。\n",
    "恰同学少年，风华正茂；书生意气，挥斥方遒。\n",
    "指点江山，激扬文字，粪土当年万户侯。\n",
    "曾记否，到中流击水，浪遏飞舟？\n",
    "\"\"\"\n",
    "\n",
    "vocab = sorted(set(data))\n",
    "vocab_size = len(vocab)\n",
    "word2idx = {ch: i for i, ch in enumerate(vocab)}\n",
    "id2word = {i: ch for i, ch in enumerate(vocab)}\n",
    "\n",
    "print(word2idx)"
   ],
   "id": "f1c6fdad671f2635",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'\\n': 0, '。': 1, '万': 2, '中': 3, '主': 4, '书': 5, '争': 6, '侣': 7, '侯': 8, '击': 9, '到': 10, '北': 11, '华': 12, '去': 13, '同': 14, '否': 15, '土': 16, '地': 17, '大': 18, '天': 19, '头': 20, '子': 21, '字': 22, '学': 23, '寒': 24, '寥': 25, '少': 26, '尽': 27, '层': 28, '山': 29, '岁': 30, '峥': 31, '嵘': 32, '年': 33, '底': 34, '廓': 35, '当': 36, '往': 37, '忆': 38, '怅': 39, '恰': 40, '意': 41, '户': 42, '扬': 43, '指': 44, '挥': 45, '携': 46, '文': 47, '斥': 48, '方': 49, '昔': 50, '曾': 51, '月': 52, '来': 53, '林': 54, '染': 55, '橘': 56, '正': 57, '气': 58, '水': 59, '江': 60, '沉': 61, '洲': 62, '流': 63, '浅': 64, '浪': 65, '浮': 66, '游': 67, '湘': 68, '漫': 69, '激': 70, '点': 71, '独': 72, '生': 73, '由': 74, '百': 75, '看': 76, '碧': 77, '秋': 78, '稠': 79, '空': 80, '立': 81, '竞': 82, '类': 83, '粪': 84, '红': 85, '翔': 86, '自': 87, '舟': 88, '舸': 89, '苍': 90, '茂': 91, '茫': 92, '记': 93, '谁': 94, '透': 95, '遍': 96, '遏': 97, '遒': 98, '长': 99, '问': 100, '霜': 101, '风': 102, '飞': 103, '鱼': 104, '鹰': 105, '，': 106, '；': 107, '？': 108}\n"
     ]
    }
   ],
   "execution_count": 7
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T02:25:46.664776Z",
     "start_time": "2025-07-16T02:25:46.659942Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 自定义Dataset\n",
    "class ZhouyuGPTDataset(Dataset):\n",
    "    def __init__(self, data, max_seq_length=5):\n",
    "        self.data = torch.tensor([word2idx[c] for c in data], dtype=torch.long)\n",
    "        self.max_seq_length = max_seq_length\n",
    "\n",
    "    def __len__(self):\n",
    "        return len(self.data) - self.max_seq_length\n",
    "\n",
    "    def __getitem__(self, idx):\n",
    "        x = self.data[idx:idx + self.max_seq_length]\n",
    "        y = self.data[idx + 1:idx + self.max_seq_length + 1]\n",
    "        return x, y\n",
    "\n",
    "\n",
    "dataset = ZhouyuGPTDataset(data, max_seq_len)\n",
    "data_loader = DataLoader(dataset, batch_size=1, shuffle=False)\n",
    "for x, y in data_loader:\n",
    "    print(x, y)\n",
    "    break"
   ],
   "id": "9d1c27155a783a6b",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([[ 0, 72, 81, 24, 78]]) tensor([[ 72,  81,  24,  78, 106]])\n"
     ]
    }
   ],
   "execution_count": 8
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T02:26:00.852979Z",
     "start_time": "2025-07-16T02:25:46.682075Z"
    }
   },
   "cell_type": "code",
   "source": [
    "model = ZhouyuGPTModel(vocab_size, max_seq_len)\n",
    "optimizer = torch.optim.Adam(model.parameters(), lr=0.001)\n",
    "criterion = nn.CrossEntropyLoss()\n",
    "\n",
    "EPOCHS = 30\n",
    "\n",
    "for epoch in range(EPOCHS):\n",
    "    for src, tgt in data_loader:\n",
    "        # 生成掩码\n",
    "        batch_size, seq_len = src.size(0), src.size(1)\n",
    "        mask = torch.tril(torch.ones(seq_len, seq_len))\n",
    "\n",
    "        output = model(src, mask=mask)\n",
    "        loss = criterion(output.view(-1, output.size(-1)), tgt.view(-1))\n",
    "        optimizer.zero_grad()\n",
    "        loss.backward()\n",
    "        optimizer.step()\n",
    "\n",
    "        print(f'Epoch {epoch + 1}, Loss: {loss:.4f}')"
   ],
   "id": "2eb65b25b022f95f",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1, Loss: 4.7365\n",
      "Epoch 1, Loss: 4.2521\n",
      "Epoch 1, Loss: 4.0116\n",
      "Epoch 1, Loss: 3.9214\n",
      "Epoch 1, Loss: 3.9833\n",
      "Epoch 1, Loss: 3.7654\n",
      "Epoch 1, Loss: 3.9234\n",
      "Epoch 1, Loss: 4.2670\n",
      "Epoch 1, Loss: 4.5290\n",
      "Epoch 1, Loss: 4.0835\n",
      "Epoch 1, Loss: 4.7549\n",
      "Epoch 1, Loss: 4.5655\n",
      "Epoch 1, Loss: 4.5991\n",
      "Epoch 1, Loss: 4.7506\n",
      "Epoch 1, Loss: 4.7390\n",
      "Epoch 1, Loss: 4.7071\n",
      "Epoch 1, Loss: 5.0430\n",
      "Epoch 1, Loss: 4.4206\n",
      "Epoch 1, Loss: 4.3462\n",
      "Epoch 1, Loss: 4.4904\n",
      "Epoch 1, Loss: 4.6257\n",
      "Epoch 1, Loss: 4.3166\n",
      "Epoch 1, Loss: 5.1397\n",
      "Epoch 1, Loss: 5.0442\n",
      "Epoch 1, Loss: 4.7174\n",
      "Epoch 1, Loss: 4.6794\n",
      "Epoch 1, Loss: 4.7504\n",
      "Epoch 1, Loss: 4.1529\n",
      "Epoch 1, Loss: 4.1609\n",
      "Epoch 1, Loss: 4.6717\n",
      "Epoch 1, Loss: 4.9044\n",
      "Epoch 1, Loss: 5.0528\n",
      "Epoch 1, Loss: 5.2989\n",
      "Epoch 1, Loss: 4.6841\n",
      "Epoch 1, Loss: 4.6486\n",
      "Epoch 1, Loss: 4.7513\n",
      "Epoch 1, Loss: 4.7552\n",
      "Epoch 1, Loss: 4.9765\n",
      "Epoch 1, Loss: 5.0464\n",
      "Epoch 1, Loss: 4.9257\n",
      "Epoch 1, Loss: 5.0716\n",
      "Epoch 1, Loss: 4.8580\n",
      "Epoch 1, Loss: 4.8254\n",
      "Epoch 1, Loss: 4.8757\n",
      "Epoch 1, Loss: 4.5204\n",
      "Epoch 1, Loss: 4.3334\n",
      "Epoch 1, Loss: 4.4983\n",
      "Epoch 1, Loss: 4.8367\n",
      "Epoch 1, Loss: 5.2844\n",
      "Epoch 1, Loss: 5.3352\n",
      "Epoch 1, Loss: 5.3532\n",
      "Epoch 1, Loss: 4.6925\n",
      "Epoch 1, Loss: 3.6820\n",
      "Epoch 1, Loss: 3.6664\n",
      "Epoch 1, Loss: 4.0522\n",
      "Epoch 1, Loss: 4.0937\n",
      "Epoch 1, Loss: 4.0696\n",
      "Epoch 1, Loss: 4.5730\n",
      "Epoch 1, Loss: 4.5909\n",
      "Epoch 1, Loss: 4.4163\n",
      "Epoch 1, Loss: 4.5874\n",
      "Epoch 1, Loss: 4.7350\n",
      "Epoch 1, Loss: 4.4068\n",
      "Epoch 1, Loss: 4.4754\n",
      "Epoch 1, Loss: 4.7699\n",
      "Epoch 1, Loss: 4.8591\n",
      "Epoch 1, Loss: 4.8186\n",
      "Epoch 1, Loss: 5.1554\n",
      "Epoch 1, Loss: 4.9983\n",
      "Epoch 1, Loss: 4.8304\n",
      "Epoch 1, Loss: 4.9134\n",
      "Epoch 1, Loss: 4.9041\n",
      "Epoch 1, Loss: 4.8402\n",
      "Epoch 1, Loss: 5.2729\n",
      "Epoch 1, Loss: 5.2864\n",
      "Epoch 1, Loss: 5.1083\n",
      "Epoch 1, Loss: 4.4986\n",
      "Epoch 1, Loss: 4.8175\n",
      "Epoch 1, Loss: 4.9422\n",
      "Epoch 1, Loss: 5.1077\n",
      "Epoch 1, Loss: 5.2461\n",
      "Epoch 1, Loss: 5.3022\n",
      "Epoch 1, Loss: 5.0617\n",
      "Epoch 1, Loss: 4.9580\n",
      "Epoch 1, Loss: 4.8581\n",
      "Epoch 1, Loss: 4.0168\n",
      "Epoch 1, Loss: 3.9030\n",
      "Epoch 1, Loss: 4.2607\n",
      "Epoch 1, Loss: 4.5195\n",
      "Epoch 1, Loss: 4.2057\n",
      "Epoch 1, Loss: 4.9459\n",
      "Epoch 1, Loss: 4.7487\n",
      "Epoch 1, Loss: 4.2138\n",
      "Epoch 1, Loss: 4.2418\n",
      "Epoch 1, Loss: 4.2215\n",
      "Epoch 1, Loss: 3.8619\n",
      "Epoch 1, Loss: 4.3478\n",
      "Epoch 1, Loss: 4.0974\n",
      "Epoch 1, Loss: 4.3675\n",
      "Epoch 1, Loss: 4.6037\n",
      "Epoch 1, Loss: 4.5560\n",
      "Epoch 1, Loss: 4.4948\n",
      "Epoch 1, Loss: 4.3670\n",
      "Epoch 1, Loss: 4.2866\n",
      "Epoch 1, Loss: 4.6265\n",
      "Epoch 1, Loss: 4.4521\n",
      "Epoch 1, Loss: 4.5069\n",
      "Epoch 1, Loss: 3.7087\n",
      "Epoch 1, Loss: 3.6578\n",
      "Epoch 1, Loss: 3.5268\n",
      "Epoch 1, Loss: 3.5147\n",
      "Epoch 1, Loss: 3.7631\n",
      "Epoch 1, Loss: 4.0519\n",
      "Epoch 1, Loss: 3.8633\n",
      "Epoch 1, Loss: 4.1221\n",
      "Epoch 1, Loss: 4.5019\n",
      "Epoch 1, Loss: 4.8054\n",
      "Epoch 1, Loss: 4.4931\n",
      "Epoch 1, Loss: 4.6686\n",
      "Epoch 1, Loss: 4.4314\n",
      "Epoch 1, Loss: 4.4876\n",
      "Epoch 1, Loss: 4.6448\n",
      "Epoch 1, Loss: 4.8122\n",
      "Epoch 1, Loss: 5.0254\n",
      "Epoch 1, Loss: 5.3329\n",
      "Epoch 1, Loss: 5.0498\n",
      "Epoch 1, Loss: 3.7600\n",
      "Epoch 1, Loss: 4.1545\n",
      "Epoch 1, Loss: 4.2714\n",
      "Epoch 1, Loss: 4.5417\n",
      "Epoch 1, Loss: 4.2187\n",
      "Epoch 1, Loss: 4.9799\n",
      "Epoch 1, Loss: 4.4237\n",
      "Epoch 1, Loss: 4.3188\n",
      "Epoch 1, Loss: 4.5351\n",
      "Epoch 1, Loss: 4.9356\n",
      "Epoch 1, Loss: 4.8841\n",
      "Epoch 1, Loss: 4.8975\n",
      "Epoch 1, Loss: 4.8132\n",
      "Epoch 1, Loss: 4.6863\n",
      "Epoch 1, Loss: 4.5492\n",
      "Epoch 1, Loss: 5.0701\n",
      "Epoch 1, Loss: 5.3704\n",
      "Epoch 2, Loss: 4.0380\n",
      "Epoch 2, Loss: 3.9958\n",
      "Epoch 2, Loss: 3.9499\n",
      "Epoch 2, Loss: 3.9300\n",
      "Epoch 2, Loss: 4.4196\n",
      "Epoch 2, Loss: 4.2686\n",
      "Epoch 2, Loss: 3.3227\n",
      "Epoch 2, Loss: 3.2822\n",
      "Epoch 2, Loss: 3.1292\n",
      "Epoch 2, Loss: 3.0328\n",
      "Epoch 2, Loss: 3.2622\n",
      "Epoch 2, Loss: 2.4687\n",
      "Epoch 2, Loss: 2.3614\n",
      "Epoch 2, Loss: 2.5627\n",
      "Epoch 2, Loss: 2.5300\n",
      "Epoch 2, Loss: 2.7533\n",
      "Epoch 2, Loss: 3.3134\n",
      "Epoch 2, Loss: 2.4031\n",
      "Epoch 2, Loss: 2.6830\n",
      "Epoch 2, Loss: 2.9239\n",
      "Epoch 2, Loss: 2.9438\n",
      "Epoch 2, Loss: 2.9471\n",
      "Epoch 2, Loss: 3.5411\n",
      "Epoch 2, Loss: 3.1216\n",
      "Epoch 2, Loss: 2.9058\n",
      "Epoch 2, Loss: 2.8106\n",
      "Epoch 2, Loss: 2.8673\n",
      "Epoch 2, Loss: 2.5922\n",
      "Epoch 2, Loss: 2.3456\n",
      "Epoch 2, Loss: 3.0027\n",
      "Epoch 2, Loss: 2.8099\n",
      "Epoch 2, Loss: 3.1197\n",
      "Epoch 2, Loss: 3.0201\n",
      "Epoch 2, Loss: 2.2732\n",
      "Epoch 2, Loss: 2.1886\n",
      "Epoch 2, Loss: 2.3757\n",
      "Epoch 2, Loss: 2.3784\n",
      "Epoch 2, Loss: 2.6937\n",
      "Epoch 2, Loss: 2.6921\n",
      "Epoch 2, Loss: 2.6107\n",
      "Epoch 2, Loss: 2.5453\n",
      "Epoch 2, Loss: 2.3673\n",
      "Epoch 2, Loss: 2.4824\n",
      "Epoch 2, Loss: 2.1010\n",
      "Epoch 2, Loss: 2.2698\n",
      "Epoch 2, Loss: 2.3504\n",
      "Epoch 2, Loss: 2.5347\n",
      "Epoch 2, Loss: 2.9077\n",
      "Epoch 2, Loss: 3.3010\n",
      "Epoch 2, Loss: 2.8808\n",
      "Epoch 2, Loss: 2.7656\n",
      "Epoch 2, Loss: 2.3311\n",
      "Epoch 2, Loss: 1.6617\n",
      "Epoch 2, Loss: 1.7897\n",
      "Epoch 2, Loss: 1.9888\n",
      "Epoch 2, Loss: 2.1179\n",
      "Epoch 2, Loss: 1.8570\n",
      "Epoch 2, Loss: 2.4633\n",
      "Epoch 2, Loss: 2.2984\n",
      "Epoch 2, Loss: 2.1960\n",
      "Epoch 2, Loss: 2.3790\n",
      "Epoch 2, Loss: 2.6061\n",
      "Epoch 2, Loss: 1.9522\n",
      "Epoch 2, Loss: 2.0597\n",
      "Epoch 2, Loss: 2.1495\n",
      "Epoch 2, Loss: 2.5314\n",
      "Epoch 2, Loss: 2.4629\n",
      "Epoch 2, Loss: 2.9481\n",
      "Epoch 2, Loss: 2.7375\n",
      "Epoch 2, Loss: 2.9752\n",
      "Epoch 2, Loss: 2.7825\n",
      "Epoch 2, Loss: 3.1077\n",
      "Epoch 2, Loss: 3.2565\n",
      "Epoch 2, Loss: 3.4632\n",
      "Epoch 2, Loss: 3.1335\n",
      "Epoch 2, Loss: 3.0984\n",
      "Epoch 2, Loss: 3.2253\n",
      "Epoch 2, Loss: 2.8140\n",
      "Epoch 2, Loss: 2.7959\n",
      "Epoch 2, Loss: 2.6403\n",
      "Epoch 2, Loss: 3.0930\n",
      "Epoch 2, Loss: 2.9077\n",
      "Epoch 2, Loss: 2.9600\n",
      "Epoch 2, Loss: 3.0775\n",
      "Epoch 2, Loss: 2.9032\n",
      "Epoch 2, Loss: 1.9769\n",
      "Epoch 2, Loss: 1.8918\n",
      "Epoch 2, Loss: 1.9425\n",
      "Epoch 2, Loss: 2.0911\n",
      "Epoch 2, Loss: 2.4605\n",
      "Epoch 2, Loss: 2.8813\n",
      "Epoch 2, Loss: 2.1718\n",
      "Epoch 2, Loss: 2.2345\n",
      "Epoch 2, Loss: 2.2958\n",
      "Epoch 2, Loss: 2.2989\n",
      "Epoch 2, Loss: 2.1585\n",
      "Epoch 2, Loss: 2.6432\n",
      "Epoch 2, Loss: 2.3958\n",
      "Epoch 2, Loss: 2.3520\n",
      "Epoch 2, Loss: 2.5791\n",
      "Epoch 2, Loss: 2.5598\n",
      "Epoch 2, Loss: 2.1786\n",
      "Epoch 2, Loss: 2.2634\n",
      "Epoch 2, Loss: 2.1711\n",
      "Epoch 2, Loss: 2.2135\n",
      "Epoch 2, Loss: 2.2210\n",
      "Epoch 2, Loss: 2.4509\n",
      "Epoch 2, Loss: 1.8597\n",
      "Epoch 2, Loss: 2.0624\n",
      "Epoch 2, Loss: 1.7445\n",
      "Epoch 2, Loss: 2.1188\n",
      "Epoch 2, Loss: 2.7798\n",
      "Epoch 2, Loss: 3.1567\n",
      "Epoch 2, Loss: 2.8391\n",
      "Epoch 2, Loss: 2.8238\n",
      "Epoch 2, Loss: 3.1879\n",
      "Epoch 2, Loss: 3.1445\n",
      "Epoch 2, Loss: 2.9416\n",
      "Epoch 2, Loss: 2.9177\n",
      "Epoch 2, Loss: 2.9063\n",
      "Epoch 2, Loss: 2.8431\n",
      "Epoch 2, Loss: 3.0549\n",
      "Epoch 2, Loss: 3.8476\n",
      "Epoch 2, Loss: 3.8095\n",
      "Epoch 2, Loss: 4.0564\n",
      "Epoch 2, Loss: 3.6295\n",
      "Epoch 2, Loss: 2.2826\n",
      "Epoch 2, Loss: 2.4224\n",
      "Epoch 2, Loss: 2.3775\n",
      "Epoch 2, Loss: 2.4117\n",
      "Epoch 2, Loss: 2.1938\n",
      "Epoch 2, Loss: 2.8872\n",
      "Epoch 2, Loss: 2.3616\n",
      "Epoch 2, Loss: 2.7237\n",
      "Epoch 2, Loss: 2.7126\n",
      "Epoch 2, Loss: 3.3938\n",
      "Epoch 2, Loss: 2.7564\n",
      "Epoch 2, Loss: 2.9421\n",
      "Epoch 2, Loss: 2.5763\n",
      "Epoch 2, Loss: 2.6300\n",
      "Epoch 2, Loss: 2.7185\n",
      "Epoch 2, Loss: 3.2966\n",
      "Epoch 2, Loss: 2.7117\n",
      "Epoch 3, Loss: 2.6323\n",
      "Epoch 3, Loss: 2.5214\n",
      "Epoch 3, Loss: 2.5813\n",
      "Epoch 3, Loss: 2.8068\n",
      "Epoch 3, Loss: 2.8649\n",
      "Epoch 3, Loss: 2.2529\n",
      "Epoch 3, Loss: 1.6838\n",
      "Epoch 3, Loss: 1.9875\n",
      "Epoch 3, Loss: 1.9141\n",
      "Epoch 3, Loss: 1.6536\n",
      "Epoch 3, Loss: 2.0001\n",
      "Epoch 3, Loss: 1.1735\n",
      "Epoch 3, Loss: 1.5346\n",
      "Epoch 3, Loss: 1.3906\n",
      "Epoch 3, Loss: 1.8938\n",
      "Epoch 3, Loss: 2.4118\n",
      "Epoch 3, Loss: 2.6680\n",
      "Epoch 3, Loss: 1.9291\n",
      "Epoch 3, Loss: 2.1825\n",
      "Epoch 3, Loss: 2.4005\n",
      "Epoch 3, Loss: 1.6686\n",
      "Epoch 3, Loss: 1.6235\n",
      "Epoch 3, Loss: 2.3117\n",
      "Epoch 3, Loss: 1.4789\n",
      "Epoch 3, Loss: 1.3400\n",
      "Epoch 3, Loss: 1.5050\n",
      "Epoch 3, Loss: 1.1299\n",
      "Epoch 3, Loss: 1.0996\n",
      "Epoch 3, Loss: 1.4069\n",
      "Epoch 3, Loss: 1.8895\n",
      "Epoch 3, Loss: 1.9397\n",
      "Epoch 3, Loss: 2.0718\n",
      "Epoch 3, Loss: 2.5114\n",
      "Epoch 3, Loss: 1.5758\n",
      "Epoch 3, Loss: 1.6315\n",
      "Epoch 3, Loss: 1.8005\n",
      "Epoch 3, Loss: 1.3603\n",
      "Epoch 3, Loss: 1.1430\n",
      "Epoch 3, Loss: 1.4601\n",
      "Epoch 3, Loss: 1.5275\n",
      "Epoch 3, Loss: 1.7539\n",
      "Epoch 3, Loss: 1.5037\n",
      "Epoch 3, Loss: 1.3816\n",
      "Epoch 3, Loss: 1.2438\n",
      "Epoch 3, Loss: 1.0089\n",
      "Epoch 3, Loss: 1.6703\n",
      "Epoch 3, Loss: 1.4687\n",
      "Epoch 3, Loss: 1.3656\n",
      "Epoch 3, Loss: 1.6861\n",
      "Epoch 3, Loss: 1.2067\n",
      "Epoch 3, Loss: 0.8880\n",
      "Epoch 3, Loss: 0.5218\n",
      "Epoch 3, Loss: 0.5093\n",
      "Epoch 3, Loss: 0.9413\n",
      "Epoch 3, Loss: 1.0578\n",
      "Epoch 3, Loss: 0.9604\n",
      "Epoch 3, Loss: 0.9383\n",
      "Epoch 3, Loss: 1.5225\n",
      "Epoch 3, Loss: 1.2389\n",
      "Epoch 3, Loss: 1.0741\n",
      "Epoch 3, Loss: 1.1049\n",
      "Epoch 3, Loss: 1.2910\n",
      "Epoch 3, Loss: 0.6466\n",
      "Epoch 3, Loss: 1.0508\n",
      "Epoch 3, Loss: 1.3567\n",
      "Epoch 3, Loss: 1.2242\n",
      "Epoch 3, Loss: 1.5578\n",
      "Epoch 3, Loss: 1.5359\n",
      "Epoch 3, Loss: 0.8595\n",
      "Epoch 3, Loss: 1.3123\n",
      "Epoch 3, Loss: 1.3464\n",
      "Epoch 3, Loss: 2.1245\n",
      "Epoch 3, Loss: 2.1887\n",
      "Epoch 3, Loss: 1.8008\n",
      "Epoch 3, Loss: 1.3841\n",
      "Epoch 3, Loss: 1.1235\n",
      "Epoch 3, Loss: 1.3814\n",
      "Epoch 3, Loss: 1.5018\n",
      "Epoch 3, Loss: 1.5620\n",
      "Epoch 3, Loss: 1.9202\n",
      "Epoch 3, Loss: 1.9028\n",
      "Epoch 3, Loss: 1.3185\n",
      "Epoch 3, Loss: 1.4826\n",
      "Epoch 3, Loss: 1.4389\n",
      "Epoch 3, Loss: 0.7946\n",
      "Epoch 3, Loss: 0.5966\n",
      "Epoch 3, Loss: 0.9661\n",
      "Epoch 3, Loss: 1.2491\n",
      "Epoch 3, Loss: 1.4859\n",
      "Epoch 3, Loss: 1.5495\n",
      "Epoch 3, Loss: 1.7189\n",
      "Epoch 3, Loss: 1.4468\n",
      "Epoch 3, Loss: 1.6607\n",
      "Epoch 3, Loss: 1.6971\n",
      "Epoch 3, Loss: 1.8368\n",
      "Epoch 3, Loss: 1.3706\n",
      "Epoch 3, Loss: 1.1362\n",
      "Epoch 3, Loss: 1.0853\n",
      "Epoch 3, Loss: 1.1631\n",
      "Epoch 3, Loss: 1.1589\n",
      "Epoch 3, Loss: 1.3760\n",
      "Epoch 3, Loss: 1.0088\n",
      "Epoch 3, Loss: 1.3703\n",
      "Epoch 3, Loss: 1.3417\n",
      "Epoch 3, Loss: 1.2189\n",
      "Epoch 3, Loss: 1.5145\n",
      "Epoch 3, Loss: 1.7852\n",
      "Epoch 3, Loss: 1.3288\n",
      "Epoch 3, Loss: 1.2108\n",
      "Epoch 3, Loss: 1.2073\n",
      "Epoch 3, Loss: 1.0211\n",
      "Epoch 3, Loss: 1.3612\n",
      "Epoch 3, Loss: 1.1527\n",
      "Epoch 3, Loss: 1.6528\n",
      "Epoch 3, Loss: 1.4949\n",
      "Epoch 3, Loss: 1.8702\n",
      "Epoch 3, Loss: 1.9768\n",
      "Epoch 3, Loss: 1.4851\n",
      "Epoch 3, Loss: 1.2746\n",
      "Epoch 3, Loss: 1.2458\n",
      "Epoch 3, Loss: 1.3774\n",
      "Epoch 3, Loss: 1.2172\n",
      "Epoch 3, Loss: 2.3980\n",
      "Epoch 3, Loss: 2.3795\n",
      "Epoch 3, Loss: 2.3066\n",
      "Epoch 3, Loss: 2.0146\n",
      "Epoch 3, Loss: 1.3795\n",
      "Epoch 3, Loss: 1.6849\n",
      "Epoch 3, Loss: 1.8269\n",
      "Epoch 3, Loss: 1.7450\n",
      "Epoch 3, Loss: 1.7520\n",
      "Epoch 3, Loss: 2.1196\n",
      "Epoch 3, Loss: 1.8734\n",
      "Epoch 3, Loss: 1.6615\n",
      "Epoch 3, Loss: 1.5850\n",
      "Epoch 3, Loss: 2.0225\n",
      "Epoch 3, Loss: 1.5008\n",
      "Epoch 3, Loss: 1.8105\n",
      "Epoch 3, Loss: 1.9745\n",
      "Epoch 3, Loss: 2.4171\n",
      "Epoch 3, Loss: 2.1602\n",
      "Epoch 3, Loss: 2.4410\n",
      "Epoch 3, Loss: 1.7771\n",
      "Epoch 4, Loss: 2.3306\n",
      "Epoch 4, Loss: 2.0812\n",
      "Epoch 4, Loss: 1.2559\n",
      "Epoch 4, Loss: 1.2599\n",
      "Epoch 4, Loss: 0.9986\n",
      "Epoch 4, Loss: 1.0175\n",
      "Epoch 4, Loss: 1.0305\n",
      "Epoch 4, Loss: 1.0219\n",
      "Epoch 4, Loss: 0.8706\n",
      "Epoch 4, Loss: 0.9633\n",
      "Epoch 4, Loss: 0.8935\n",
      "Epoch 4, Loss: 0.3647\n",
      "Epoch 4, Loss: 0.8701\n",
      "Epoch 4, Loss: 0.6981\n",
      "Epoch 4, Loss: 1.4897\n",
      "Epoch 4, Loss: 1.8878\n",
      "Epoch 4, Loss: 1.4469\n",
      "Epoch 4, Loss: 0.8307\n",
      "Epoch 4, Loss: 1.5766\n",
      "Epoch 4, Loss: 1.1596\n",
      "Epoch 4, Loss: 1.0750\n",
      "Epoch 4, Loss: 1.1047\n",
      "Epoch 4, Loss: 1.0194\n",
      "Epoch 4, Loss: 1.0177\n",
      "Epoch 4, Loss: 0.7922\n",
      "Epoch 4, Loss: 1.2814\n",
      "Epoch 4, Loss: 1.1452\n",
      "Epoch 4, Loss: 0.9444\n",
      "Epoch 4, Loss: 0.8685\n",
      "Epoch 4, Loss: 1.0012\n",
      "Epoch 4, Loss: 0.7585\n",
      "Epoch 4, Loss: 0.6093\n",
      "Epoch 4, Loss: 1.2572\n",
      "Epoch 4, Loss: 0.6146\n",
      "Epoch 4, Loss: 0.7747\n",
      "Epoch 4, Loss: 0.7557\n",
      "Epoch 4, Loss: 0.9497\n",
      "Epoch 4, Loss: 0.6944\n",
      "Epoch 4, Loss: 0.5776\n",
      "Epoch 4, Loss: 0.7849\n",
      "Epoch 4, Loss: 0.7881\n",
      "Epoch 4, Loss: 0.8057\n",
      "Epoch 4, Loss: 0.7846\n",
      "Epoch 4, Loss: 0.8087\n",
      "Epoch 4, Loss: 0.5615\n",
      "Epoch 4, Loss: 1.0821\n",
      "Epoch 4, Loss: 0.9077\n",
      "Epoch 4, Loss: 0.7388\n",
      "Epoch 4, Loss: 1.2878\n",
      "Epoch 4, Loss: 0.6915\n",
      "Epoch 4, Loss: 0.2913\n",
      "Epoch 4, Loss: 0.1822\n",
      "Epoch 4, Loss: 0.1532\n",
      "Epoch 4, Loss: 0.6606\n",
      "Epoch 4, Loss: 0.6131\n",
      "Epoch 4, Loss: 0.7857\n",
      "Epoch 4, Loss: 0.4771\n",
      "Epoch 4, Loss: 1.5784\n",
      "Epoch 4, Loss: 1.0475\n",
      "Epoch 4, Loss: 0.8968\n",
      "Epoch 4, Loss: 0.7077\n",
      "Epoch 4, Loss: 0.6999\n",
      "Epoch 4, Loss: 0.3213\n",
      "Epoch 4, Loss: 0.9973\n",
      "Epoch 4, Loss: 1.0043\n",
      "Epoch 4, Loss: 1.3453\n",
      "Epoch 4, Loss: 1.2509\n",
      "Epoch 4, Loss: 0.8752\n",
      "Epoch 4, Loss: 0.3777\n",
      "Epoch 4, Loss: 1.0545\n",
      "Epoch 4, Loss: 0.9766\n",
      "Epoch 4, Loss: 1.3475\n",
      "Epoch 4, Loss: 1.5458\n",
      "Epoch 4, Loss: 1.2966\n",
      "Epoch 4, Loss: 1.1322\n",
      "Epoch 4, Loss: 0.6852\n",
      "Epoch 4, Loss: 1.1699\n",
      "Epoch 4, Loss: 0.7555\n",
      "Epoch 4, Loss: 0.9190\n",
      "Epoch 4, Loss: 0.5797\n",
      "Epoch 4, Loss: 1.1664\n",
      "Epoch 4, Loss: 0.4612\n",
      "Epoch 4, Loss: 0.4863\n",
      "Epoch 4, Loss: 0.3680\n",
      "Epoch 4, Loss: 0.2181\n",
      "Epoch 4, Loss: 0.1837\n",
      "Epoch 4, Loss: 0.7041\n",
      "Epoch 4, Loss: 0.6230\n",
      "Epoch 4, Loss: 0.8083\n",
      "Epoch 4, Loss: 0.6673\n",
      "Epoch 4, Loss: 0.5473\n",
      "Epoch 4, Loss: 1.1850\n",
      "Epoch 4, Loss: 1.4797\n",
      "Epoch 4, Loss: 1.1843\n",
      "Epoch 4, Loss: 0.7300\n",
      "Epoch 4, Loss: 0.7188\n",
      "Epoch 4, Loss: 0.7124\n",
      "Epoch 4, Loss: 0.4808\n",
      "Epoch 4, Loss: 0.3728\n",
      "Epoch 4, Loss: 0.4842\n",
      "Epoch 4, Loss: 0.3638\n",
      "Epoch 4, Loss: 0.2530\n",
      "Epoch 4, Loss: 0.8669\n",
      "Epoch 4, Loss: 1.0692\n",
      "Epoch 4, Loss: 0.9058\n",
      "Epoch 4, Loss: 0.8254\n",
      "Epoch 4, Loss: 0.4253\n",
      "Epoch 4, Loss: 0.2090\n",
      "Epoch 4, Loss: 0.8267\n",
      "Epoch 4, Loss: 0.7043\n",
      "Epoch 4, Loss: 0.8231\n",
      "Epoch 4, Loss: 1.0042\n",
      "Epoch 4, Loss: 0.7117\n",
      "Epoch 4, Loss: 1.1496\n",
      "Epoch 4, Loss: 1.0486\n",
      "Epoch 4, Loss: 0.9722\n",
      "Epoch 4, Loss: 0.8415\n",
      "Epoch 4, Loss: 0.5063\n",
      "Epoch 4, Loss: 0.7910\n",
      "Epoch 4, Loss: 0.7941\n",
      "Epoch 4, Loss: 0.8357\n",
      "Epoch 4, Loss: 0.5336\n",
      "Epoch 4, Loss: 2.0614\n",
      "Epoch 4, Loss: 2.0730\n",
      "Epoch 4, Loss: 1.9196\n",
      "Epoch 4, Loss: 2.1456\n",
      "Epoch 4, Loss: 1.6162\n",
      "Epoch 4, Loss: 1.2881\n",
      "Epoch 4, Loss: 1.4612\n",
      "Epoch 4, Loss: 1.7209\n",
      "Epoch 4, Loss: 1.2703\n",
      "Epoch 4, Loss: 1.1804\n",
      "Epoch 4, Loss: 1.0962\n",
      "Epoch 4, Loss: 0.7903\n",
      "Epoch 4, Loss: 1.0293\n",
      "Epoch 4, Loss: 1.6328\n",
      "Epoch 4, Loss: 0.8711\n",
      "Epoch 4, Loss: 1.1336\n",
      "Epoch 4, Loss: 0.7225\n",
      "Epoch 4, Loss: 0.5667\n",
      "Epoch 4, Loss: 0.7924\n",
      "Epoch 4, Loss: 0.8534\n",
      "Epoch 4, Loss: 0.5830\n",
      "Epoch 5, Loss: 2.6560\n",
      "Epoch 5, Loss: 1.6562\n",
      "Epoch 5, Loss: 0.6123\n",
      "Epoch 5, Loss: 0.5879\n",
      "Epoch 5, Loss: 0.4861\n",
      "Epoch 5, Loss: 0.6714\n",
      "Epoch 5, Loss: 0.5258\n",
      "Epoch 5, Loss: 0.7874\n",
      "Epoch 5, Loss: 0.7368\n",
      "Epoch 5, Loss: 0.5138\n",
      "Epoch 5, Loss: 0.7700\n",
      "Epoch 5, Loss: 0.4330\n",
      "Epoch 5, Loss: 0.4392\n",
      "Epoch 5, Loss: 0.5635\n",
      "Epoch 5, Loss: 1.0826\n",
      "Epoch 5, Loss: 0.5542\n",
      "Epoch 5, Loss: 0.5146\n",
      "Epoch 5, Loss: 0.6221\n",
      "Epoch 5, Loss: 1.1927\n",
      "Epoch 5, Loss: 1.0743\n",
      "Epoch 5, Loss: 0.7591\n",
      "Epoch 5, Loss: 0.7415\n",
      "Epoch 5, Loss: 0.4735\n",
      "Epoch 5, Loss: 0.4802\n",
      "Epoch 5, Loss: 0.3417\n",
      "Epoch 5, Loss: 0.6851\n",
      "Epoch 5, Loss: 0.4829\n",
      "Epoch 5, Loss: 0.3757\n",
      "Epoch 5, Loss: 0.6806\n",
      "Epoch 5, Loss: 1.1188\n",
      "Epoch 5, Loss: 0.3939\n",
      "Epoch 5, Loss: 0.3416\n",
      "Epoch 5, Loss: 1.2050\n",
      "Epoch 5, Loss: 0.5615\n",
      "Epoch 5, Loss: 0.5870\n",
      "Epoch 5, Loss: 0.8638\n",
      "Epoch 5, Loss: 1.7773\n",
      "Epoch 5, Loss: 1.6198\n",
      "Epoch 5, Loss: 1.8292\n",
      "Epoch 5, Loss: 1.9438\n",
      "Epoch 5, Loss: 1.1068\n",
      "Epoch 5, Loss: 0.5890\n",
      "Epoch 5, Loss: 0.5754\n",
      "Epoch 5, Loss: 0.6525\n",
      "Epoch 5, Loss: 0.5883\n",
      "Epoch 5, Loss: 0.7482\n",
      "Epoch 5, Loss: 0.6667\n",
      "Epoch 5, Loss: 0.4792\n",
      "Epoch 5, Loss: 1.6131\n",
      "Epoch 5, Loss: 0.6169\n",
      "Epoch 5, Loss: 0.2277\n",
      "Epoch 5, Loss: 0.2389\n",
      "Epoch 5, Loss: 0.1601\n",
      "Epoch 5, Loss: 0.6221\n",
      "Epoch 5, Loss: 0.6403\n",
      "Epoch 5, Loss: 0.4381\n",
      "Epoch 5, Loss: 0.3693\n",
      "Epoch 5, Loss: 0.7570\n",
      "Epoch 5, Loss: 0.5664\n",
      "Epoch 5, Loss: 0.5742\n",
      "Epoch 5, Loss: 0.4447\n",
      "Epoch 5, Loss: 0.6089\n",
      "Epoch 5, Loss: 0.1374\n",
      "Epoch 5, Loss: 0.8251\n",
      "Epoch 5, Loss: 0.7544\n",
      "Epoch 5, Loss: 0.7636\n",
      "Epoch 5, Loss: 0.5104\n",
      "Epoch 5, Loss: 0.5740\n",
      "Epoch 5, Loss: 0.1362\n",
      "Epoch 5, Loss: 0.7220\n",
      "Epoch 5, Loss: 0.7706\n",
      "Epoch 5, Loss: 0.8202\n",
      "Epoch 5, Loss: 0.9924\n",
      "Epoch 5, Loss: 0.7069\n",
      "Epoch 5, Loss: 0.3399\n",
      "Epoch 5, Loss: 0.3201\n",
      "Epoch 5, Loss: 0.6130\n",
      "Epoch 5, Loss: 0.5927\n",
      "Epoch 5, Loss: 0.4214\n",
      "Epoch 5, Loss: 0.7371\n",
      "Epoch 5, Loss: 0.6739\n",
      "Epoch 5, Loss: 0.2505\n",
      "Epoch 5, Loss: 0.3207\n",
      "Epoch 5, Loss: 0.2930\n",
      "Epoch 5, Loss: 0.1810\n",
      "Epoch 5, Loss: 0.0656\n",
      "Epoch 5, Loss: 0.5378\n",
      "Epoch 5, Loss: 0.6387\n",
      "Epoch 5, Loss: 0.6575\n",
      "Epoch 5, Loss: 0.4545\n",
      "Epoch 5, Loss: 0.4082\n",
      "Epoch 5, Loss: 0.1740\n",
      "Epoch 5, Loss: 0.6519\n",
      "Epoch 5, Loss: 0.3959\n",
      "Epoch 5, Loss: 0.3388\n",
      "Epoch 5, Loss: 0.4628\n",
      "Epoch 5, Loss: 0.8357\n",
      "Epoch 5, Loss: 0.5758\n",
      "Epoch 5, Loss: 0.4886\n",
      "Epoch 5, Loss: 0.2359\n",
      "Epoch 5, Loss: 0.2718\n",
      "Epoch 5, Loss: 0.2740\n",
      "Epoch 5, Loss: 0.7077\n",
      "Epoch 5, Loss: 0.6155\n",
      "Epoch 5, Loss: 0.6379\n",
      "Epoch 5, Loss: 0.7178\n",
      "Epoch 5, Loss: 0.5850\n",
      "Epoch 5, Loss: 0.0862\n",
      "Epoch 5, Loss: 1.0896\n",
      "Epoch 5, Loss: 0.8984\n",
      "Epoch 5, Loss: 0.7001\n",
      "Epoch 5, Loss: 0.9396\n",
      "Epoch 5, Loss: 1.3169\n",
      "Epoch 5, Loss: 1.4525\n",
      "Epoch 5, Loss: 1.2383\n",
      "Epoch 5, Loss: 1.2550\n",
      "Epoch 5, Loss: 0.9820\n",
      "Epoch 5, Loss: 1.0316\n",
      "Epoch 5, Loss: 1.0249\n",
      "Epoch 5, Loss: 0.8423\n",
      "Epoch 5, Loss: 0.7052\n",
      "Epoch 5, Loss: 0.5787\n",
      "Epoch 5, Loss: 1.0224\n",
      "Epoch 5, Loss: 1.2397\n",
      "Epoch 5, Loss: 1.1361\n",
      "Epoch 5, Loss: 0.8954\n",
      "Epoch 5, Loss: 1.1075\n",
      "Epoch 5, Loss: 1.4320\n",
      "Epoch 5, Loss: 1.5176\n",
      "Epoch 5, Loss: 1.7734\n",
      "Epoch 5, Loss: 1.2081\n",
      "Epoch 5, Loss: 1.2389\n",
      "Epoch 5, Loss: 0.8127\n",
      "Epoch 5, Loss: 0.4738\n",
      "Epoch 5, Loss: 0.5422\n",
      "Epoch 5, Loss: 1.6637\n",
      "Epoch 5, Loss: 1.5635\n",
      "Epoch 5, Loss: 2.1293\n",
      "Epoch 5, Loss: 2.0175\n",
      "Epoch 5, Loss: 1.5818\n",
      "Epoch 5, Loss: 1.3608\n",
      "Epoch 5, Loss: 1.1785\n",
      "Epoch 5, Loss: 0.5876\n",
      "Epoch 6, Loss: 3.0819\n",
      "Epoch 6, Loss: 2.1759\n",
      "Epoch 6, Loss: 1.4746\n",
      "Epoch 6, Loss: 1.5748\n",
      "Epoch 6, Loss: 1.5598\n",
      "Epoch 6, Loss: 1.3831\n",
      "Epoch 6, Loss: 1.2646\n",
      "Epoch 6, Loss: 1.0340\n",
      "Epoch 6, Loss: 0.8118\n",
      "Epoch 6, Loss: 0.6587\n",
      "Epoch 6, Loss: 0.7396\n",
      "Epoch 6, Loss: 0.1153\n",
      "Epoch 6, Loss: 1.6918\n",
      "Epoch 6, Loss: 1.8178\n",
      "Epoch 6, Loss: 2.0306\n",
      "Epoch 6, Loss: 1.5476\n",
      "Epoch 6, Loss: 1.5874\n",
      "Epoch 6, Loss: 0.8498\n",
      "Epoch 6, Loss: 1.5834\n",
      "Epoch 6, Loss: 1.5380\n",
      "Epoch 6, Loss: 0.6285\n",
      "Epoch 6, Loss: 0.4178\n",
      "Epoch 6, Loss: 0.6660\n",
      "Epoch 6, Loss: 0.7101\n",
      "Epoch 6, Loss: 0.6872\n",
      "Epoch 6, Loss: 0.8366\n",
      "Epoch 6, Loss: 0.5992\n",
      "Epoch 6, Loss: 0.5156\n",
      "Epoch 6, Loss: 0.8194\n",
      "Epoch 6, Loss: 0.8047\n",
      "Epoch 6, Loss: 0.5562\n",
      "Epoch 6, Loss: 0.5237\n",
      "Epoch 6, Loss: 0.7591\n",
      "Epoch 6, Loss: 0.2031\n",
      "Epoch 6, Loss: 0.9853\n",
      "Epoch 6, Loss: 1.3392\n",
      "Epoch 6, Loss: 1.6370\n",
      "Epoch 6, Loss: 1.0770\n",
      "Epoch 6, Loss: 0.9587\n",
      "Epoch 6, Loss: 0.8544\n",
      "Epoch 6, Loss: 0.9405\n",
      "Epoch 6, Loss: 0.2761\n",
      "Epoch 6, Loss: 0.3296\n",
      "Epoch 6, Loss: 0.6982\n",
      "Epoch 6, Loss: 0.5100\n",
      "Epoch 6, Loss: 0.4527\n",
      "Epoch 6, Loss: 0.3807\n",
      "Epoch 6, Loss: 0.6552\n",
      "Epoch 6, Loss: 1.1583\n",
      "Epoch 6, Loss: 0.3323\n",
      "Epoch 6, Loss: 0.2366\n",
      "Epoch 6, Loss: 0.1480\n",
      "Epoch 6, Loss: 0.0869\n",
      "Epoch 6, Loss: 0.7627\n",
      "Epoch 6, Loss: 0.7826\n",
      "Epoch 6, Loss: 0.7037\n",
      "Epoch 6, Loss: 0.5425\n",
      "Epoch 6, Loss: 0.9632\n",
      "Epoch 6, Loss: 0.3598\n",
      "Epoch 6, Loss: 0.4777\n",
      "Epoch 6, Loss: 0.4129\n",
      "Epoch 6, Loss: 0.6314\n",
      "Epoch 6, Loss: 0.0539\n",
      "Epoch 6, Loss: 0.3549\n",
      "Epoch 6, Loss: 0.2988\n",
      "Epoch 6, Loss: 0.2982\n",
      "Epoch 6, Loss: 0.2830\n",
      "Epoch 6, Loss: 0.4418\n",
      "Epoch 6, Loss: 0.0766\n",
      "Epoch 6, Loss: 0.8072\n",
      "Epoch 6, Loss: 0.6644\n",
      "Epoch 6, Loss: 0.6031\n",
      "Epoch 6, Loss: 0.5139\n",
      "Epoch 6, Loss: 0.6133\n",
      "Epoch 6, Loss: 0.3592\n",
      "Epoch 6, Loss: 0.3688\n",
      "Epoch 6, Loss: 0.6589\n",
      "Epoch 6, Loss: 0.6637\n",
      "Epoch 6, Loss: 0.3863\n",
      "Epoch 6, Loss: 0.3123\n",
      "Epoch 6, Loss: 0.5229\n",
      "Epoch 6, Loss: 0.2728\n",
      "Epoch 6, Loss: 0.2508\n",
      "Epoch 6, Loss: 0.1837\n",
      "Epoch 6, Loss: 0.1398\n",
      "Epoch 6, Loss: 0.0951\n",
      "Epoch 6, Loss: 0.4929\n",
      "Epoch 6, Loss: 0.4304\n",
      "Epoch 6, Loss: 0.2873\n",
      "Epoch 6, Loss: 0.2981\n",
      "Epoch 6, Loss: 0.4115\n",
      "Epoch 6, Loss: 0.9297\n",
      "Epoch 6, Loss: 0.5983\n",
      "Epoch 6, Loss: 0.3439\n",
      "Epoch 6, Loss: 0.3325\n",
      "Epoch 6, Loss: 0.7817\n",
      "Epoch 6, Loss: 0.8408\n",
      "Epoch 6, Loss: 0.2020\n",
      "Epoch 6, Loss: 0.6320\n",
      "Epoch 6, Loss: 0.5642\n",
      "Epoch 6, Loss: 0.2620\n",
      "Epoch 6, Loss: 0.1692\n",
      "Epoch 6, Loss: 0.7307\n",
      "Epoch 6, Loss: 0.4646\n",
      "Epoch 6, Loss: 0.6965\n",
      "Epoch 6, Loss: 0.4423\n",
      "Epoch 6, Loss: 0.4555\n",
      "Epoch 6, Loss: 0.0450\n",
      "Epoch 6, Loss: 0.8290\n",
      "Epoch 6, Loss: 0.6840\n",
      "Epoch 6, Loss: 0.4318\n",
      "Epoch 6, Loss: 0.5878\n",
      "Epoch 6, Loss: 0.4667\n",
      "Epoch 6, Loss: 0.7731\n",
      "Epoch 6, Loss: 0.5512\n",
      "Epoch 6, Loss: 0.7164\n",
      "Epoch 6, Loss: 0.5557\n",
      "Epoch 6, Loss: 0.2669\n",
      "Epoch 6, Loss: 0.3632\n",
      "Epoch 6, Loss: 0.2628\n",
      "Epoch 6, Loss: 0.3048\n",
      "Epoch 6, Loss: 0.2559\n",
      "Epoch 6, Loss: 0.5041\n",
      "Epoch 6, Loss: 0.1786\n",
      "Epoch 6, Loss: 0.3107\n",
      "Epoch 6, Loss: 0.2366\n",
      "Epoch 6, Loss: 1.1178\n",
      "Epoch 6, Loss: 1.0653\n",
      "Epoch 6, Loss: 0.9937\n",
      "Epoch 6, Loss: 0.5748\n",
      "Epoch 6, Loss: 0.8269\n",
      "Epoch 6, Loss: 0.7905\n",
      "Epoch 6, Loss: 0.4147\n",
      "Epoch 6, Loss: 0.3270\n",
      "Epoch 6, Loss: 0.2383\n",
      "Epoch 6, Loss: 0.6260\n",
      "Epoch 6, Loss: 0.5879\n",
      "Epoch 6, Loss: 1.0899\n",
      "Epoch 6, Loss: 0.8309\n",
      "Epoch 6, Loss: 1.0998\n",
      "Epoch 6, Loss: 0.5992\n",
      "Epoch 6, Loss: 0.7320\n",
      "Epoch 6, Loss: 0.4014\n",
      "Epoch 7, Loss: 1.6488\n",
      "Epoch 7, Loss: 1.0735\n",
      "Epoch 7, Loss: 0.4162\n",
      "Epoch 7, Loss: 0.6877\n",
      "Epoch 7, Loss: 0.6058\n",
      "Epoch 7, Loss: 1.1516\n",
      "Epoch 7, Loss: 1.0986\n",
      "Epoch 7, Loss: 0.6407\n",
      "Epoch 7, Loss: 0.2210\n",
      "Epoch 7, Loss: 0.1636\n",
      "Epoch 7, Loss: 0.4857\n",
      "Epoch 7, Loss: 0.0736\n",
      "Epoch 7, Loss: 0.8866\n",
      "Epoch 7, Loss: 0.5974\n",
      "Epoch 7, Loss: 0.8715\n",
      "Epoch 7, Loss: 0.9544\n",
      "Epoch 7, Loss: 0.4514\n",
      "Epoch 7, Loss: 0.3866\n",
      "Epoch 7, Loss: 0.8286\n",
      "Epoch 7, Loss: 0.8087\n",
      "Epoch 7, Loss: 0.3221\n",
      "Epoch 7, Loss: 0.3437\n",
      "Epoch 7, Loss: 0.3357\n",
      "Epoch 7, Loss: 0.2006\n",
      "Epoch 7, Loss: 0.2165\n",
      "Epoch 7, Loss: 0.4913\n",
      "Epoch 7, Loss: 1.0486\n",
      "Epoch 7, Loss: 0.8641\n",
      "Epoch 7, Loss: 1.4249\n",
      "Epoch 7, Loss: 1.3799\n",
      "Epoch 7, Loss: 0.8398\n",
      "Epoch 7, Loss: 0.6415\n",
      "Epoch 7, Loss: 1.3186\n",
      "Epoch 7, Loss: 0.1849\n",
      "Epoch 7, Loss: 0.7552\n",
      "Epoch 7, Loss: 0.8247\n",
      "Epoch 7, Loss: 0.8005\n",
      "Epoch 7, Loss: 1.1657\n",
      "Epoch 7, Loss: 0.6118\n",
      "Epoch 7, Loss: 0.3880\n",
      "Epoch 7, Loss: 0.3712\n",
      "Epoch 7, Loss: 0.3550\n",
      "Epoch 7, Loss: 0.1614\n",
      "Epoch 7, Loss: 0.2132\n",
      "Epoch 7, Loss: 0.1746\n",
      "Epoch 7, Loss: 0.2923\n",
      "Epoch 7, Loss: 0.1834\n",
      "Epoch 7, Loss: 0.2046\n",
      "Epoch 7, Loss: 1.4353\n",
      "Epoch 7, Loss: 0.1850\n",
      "Epoch 7, Loss: 0.0586\n",
      "Epoch 7, Loss: 0.1547\n",
      "Epoch 7, Loss: 0.0714\n",
      "Epoch 7, Loss: 0.3820\n",
      "Epoch 7, Loss: 0.7447\n",
      "Epoch 7, Loss: 0.5618\n",
      "Epoch 7, Loss: 0.9484\n",
      "Epoch 7, Loss: 0.3765\n",
      "Epoch 7, Loss: 0.1353\n",
      "Epoch 7, Loss: 0.1650\n",
      "Epoch 7, Loss: 0.1764\n",
      "Epoch 7, Loss: 0.7164\n",
      "Epoch 7, Loss: 0.1179\n",
      "Epoch 7, Loss: 0.3080\n",
      "Epoch 7, Loss: 0.3031\n",
      "Epoch 7, Loss: 0.2225\n",
      "Epoch 7, Loss: 0.1396\n",
      "Epoch 7, Loss: 0.3825\n",
      "Epoch 7, Loss: 0.0563\n",
      "Epoch 7, Loss: 0.4081\n",
      "Epoch 7, Loss: 0.3814\n",
      "Epoch 7, Loss: 0.3573\n",
      "Epoch 7, Loss: 0.2453\n",
      "Epoch 7, Loss: 0.2063\n",
      "Epoch 7, Loss: 0.3653\n",
      "Epoch 7, Loss: 0.1764\n",
      "Epoch 7, Loss: 0.4527\n",
      "Epoch 7, Loss: 0.3043\n",
      "Epoch 7, Loss: 0.2870\n",
      "Epoch 7, Loss: 0.1809\n",
      "Epoch 7, Loss: 0.2956\n",
      "Epoch 7, Loss: 0.1271\n",
      "Epoch 7, Loss: 0.1633\n",
      "Epoch 7, Loss: 0.1682\n",
      "Epoch 7, Loss: 0.6638\n",
      "Epoch 7, Loss: 0.5650\n",
      "Epoch 7, Loss: 0.7342\n",
      "Epoch 7, Loss: 0.5854\n",
      "Epoch 7, Loss: 0.4701\n",
      "Epoch 7, Loss: 0.1852\n",
      "Epoch 7, Loss: 0.2715\n",
      "Epoch 7, Loss: 0.1964\n",
      "Epoch 7, Loss: 0.2046\n",
      "Epoch 7, Loss: 0.1173\n",
      "Epoch 7, Loss: 0.1741\n",
      "Epoch 7, Loss: 0.8943\n",
      "Epoch 7, Loss: 0.5369\n",
      "Epoch 7, Loss: 0.1218\n",
      "Epoch 7, Loss: 0.0743\n",
      "Epoch 7, Loss: 0.0681\n",
      "Epoch 7, Loss: 0.3576\n",
      "Epoch 7, Loss: 0.1295\n",
      "Epoch 7, Loss: 0.2497\n",
      "Epoch 7, Loss: 0.1831\n",
      "Epoch 7, Loss: 0.2002\n",
      "Epoch 7, Loss: 0.1910\n",
      "Epoch 7, Loss: 0.3700\n",
      "Epoch 7, Loss: 0.0566\n",
      "Epoch 7, Loss: 0.4736\n",
      "Epoch 7, Loss: 0.2810\n",
      "Epoch 7, Loss: 0.1932\n",
      "Epoch 7, Loss: 0.6432\n",
      "Epoch 7, Loss: 0.4713\n",
      "Epoch 7, Loss: 0.5365\n",
      "Epoch 7, Loss: 0.5874\n",
      "Epoch 7, Loss: 0.6844\n",
      "Epoch 7, Loss: 0.2561\n",
      "Epoch 7, Loss: 0.5642\n",
      "Epoch 7, Loss: 0.4645\n",
      "Epoch 7, Loss: 0.2672\n",
      "Epoch 7, Loss: 0.2543\n",
      "Epoch 7, Loss: 0.4193\n",
      "Epoch 7, Loss: 0.5941\n",
      "Epoch 7, Loss: 0.2873\n",
      "Epoch 7, Loss: 0.1140\n",
      "Epoch 7, Loss: 0.1706\n",
      "Epoch 7, Loss: 1.5057\n",
      "Epoch 7, Loss: 1.0631\n",
      "Epoch 7, Loss: 1.6608\n",
      "Epoch 7, Loss: 1.4454\n",
      "Epoch 7, Loss: 0.5660\n",
      "Epoch 7, Loss: 0.5701\n",
      "Epoch 7, Loss: 0.8311\n",
      "Epoch 7, Loss: 0.1266\n",
      "Epoch 7, Loss: 0.1472\n",
      "Epoch 7, Loss: 0.6178\n",
      "Epoch 7, Loss: 0.0934\n",
      "Epoch 7, Loss: 0.3906\n",
      "Epoch 7, Loss: 0.3697\n",
      "Epoch 7, Loss: 0.3490\n",
      "Epoch 7, Loss: 0.2367\n",
      "Epoch 7, Loss: 0.4799\n",
      "Epoch 7, Loss: 0.0847\n",
      "Epoch 8, Loss: 1.1434\n",
      "Epoch 8, Loss: 0.3681\n",
      "Epoch 8, Loss: 0.2126\n",
      "Epoch 8, Loss: 0.2186\n",
      "Epoch 8, Loss: 0.4234\n",
      "Epoch 8, Loss: 0.3437\n",
      "Epoch 8, Loss: 0.8437\n",
      "Epoch 8, Loss: 0.6291\n",
      "Epoch 8, Loss: 0.2043\n",
      "Epoch 8, Loss: 0.1591\n",
      "Epoch 8, Loss: 0.3565\n",
      "Epoch 8, Loss: 0.0511\n",
      "Epoch 8, Loss: 0.3791\n",
      "Epoch 8, Loss: 0.0957\n",
      "Epoch 8, Loss: 0.7682\n",
      "Epoch 8, Loss: 0.1972\n",
      "Epoch 8, Loss: 0.1269\n",
      "Epoch 8, Loss: 0.1368\n",
      "Epoch 8, Loss: 0.4791\n",
      "Epoch 8, Loss: 0.3833\n",
      "Epoch 8, Loss: 0.0672\n",
      "Epoch 8, Loss: 0.1478\n",
      "Epoch 8, Loss: 0.2086\n",
      "Epoch 8, Loss: 0.2018\n",
      "Epoch 8, Loss: 0.1397\n",
      "Epoch 8, Loss: 0.4189\n",
      "Epoch 8, Loss: 0.3066\n",
      "Epoch 8, Loss: 0.2210\n",
      "Epoch 8, Loss: 0.2525\n",
      "Epoch 8, Loss: 0.6423\n",
      "Epoch 8, Loss: 0.5435\n",
      "Epoch 8, Loss: 0.5726\n",
      "Epoch 8, Loss: 0.8167\n",
      "Epoch 8, Loss: 0.0992\n",
      "Epoch 8, Loss: 0.4767\n",
      "Epoch 8, Loss: 0.4882\n",
      "Epoch 8, Loss: 0.2848\n",
      "Epoch 8, Loss: 0.2314\n",
      "Epoch 8, Loss: 0.1639\n",
      "Epoch 8, Loss: 0.1735\n",
      "Epoch 8, Loss: 1.0554\n",
      "Epoch 8, Loss: 0.1270\n",
      "Epoch 8, Loss: 0.1780\n",
      "Epoch 8, Loss: 0.2537\n",
      "Epoch 8, Loss: 0.4013\n",
      "Epoch 8, Loss: 0.2488\n",
      "Epoch 8, Loss: 0.2907\n",
      "Epoch 8, Loss: 0.2029\n",
      "Epoch 8, Loss: 1.3061\n",
      "Epoch 8, Loss: 0.1212\n",
      "Epoch 8, Loss: 0.0439\n",
      "Epoch 8, Loss: 0.0454\n",
      "Epoch 8, Loss: 0.0379\n",
      "Epoch 8, Loss: 0.7097\n",
      "Epoch 8, Loss: 0.9379\n",
      "Epoch 8, Loss: 0.5417\n",
      "Epoch 8, Loss: 0.4025\n",
      "Epoch 8, Loss: 0.3840\n",
      "Epoch 8, Loss: 0.1291\n",
      "Epoch 8, Loss: 0.1463\n",
      "Epoch 8, Loss: 0.1042\n",
      "Epoch 8, Loss: 0.3112\n",
      "Epoch 8, Loss: 0.0459\n",
      "Epoch 8, Loss: 0.2115\n",
      "Epoch 8, Loss: 0.1834\n",
      "Epoch 8, Loss: 0.1374\n",
      "Epoch 8, Loss: 0.1479\n",
      "Epoch 8, Loss: 0.7188\n",
      "Epoch 8, Loss: 0.0422\n",
      "Epoch 8, Loss: 0.4377\n",
      "Epoch 8, Loss: 0.3560\n",
      "Epoch 8, Loss: 0.4419\n",
      "Epoch 8, Loss: 0.3720\n",
      "Epoch 8, Loss: 0.5346\n",
      "Epoch 8, Loss: 1.0501\n",
      "Epoch 8, Loss: 0.8014\n",
      "Epoch 8, Loss: 0.4211\n",
      "Epoch 8, Loss: 0.4031\n",
      "Epoch 8, Loss: 0.8986\n",
      "Epoch 8, Loss: 0.1708\n",
      "Epoch 8, Loss: 0.6502\n",
      "Epoch 8, Loss: 0.1843\n",
      "Epoch 8, Loss: 0.1650\n",
      "Epoch 8, Loss: 0.0989\n",
      "Epoch 8, Loss: 0.1620\n",
      "Epoch 8, Loss: 0.1158\n",
      "Epoch 8, Loss: 0.1511\n",
      "Epoch 8, Loss: 0.3721\n",
      "Epoch 8, Loss: 0.4888\n",
      "Epoch 8, Loss: 0.1720\n",
      "Epoch 8, Loss: 0.1486\n",
      "Epoch 8, Loss: 0.8030\n",
      "Epoch 8, Loss: 0.1690\n",
      "Epoch 8, Loss: 0.1785\n",
      "Epoch 8, Loss: 0.1653\n",
      "Epoch 8, Loss: 0.2606\n",
      "Epoch 8, Loss: 0.3814\n",
      "Epoch 8, Loss: 0.0535\n",
      "Epoch 8, Loss: 0.0389\n",
      "Epoch 8, Loss: 0.0358\n",
      "Epoch 8, Loss: 0.0435\n",
      "Epoch 8, Loss: 0.0328\n",
      "Epoch 8, Loss: 0.2124\n",
      "Epoch 8, Loss: 0.2212\n",
      "Epoch 8, Loss: 0.4164\n",
      "Epoch 8, Loss: 0.2954\n",
      "Epoch 8, Loss: 0.6344\n",
      "Epoch 8, Loss: 0.0334\n",
      "Epoch 8, Loss: 0.7515\n",
      "Epoch 8, Loss: 1.0648\n",
      "Epoch 8, Loss: 0.5129\n",
      "Epoch 8, Loss: 0.7216\n",
      "Epoch 8, Loss: 0.7046\n",
      "Epoch 8, Loss: 0.3219\n",
      "Epoch 8, Loss: 0.6606\n",
      "Epoch 8, Loss: 0.9124\n",
      "Epoch 8, Loss: 0.5742\n",
      "Epoch 8, Loss: 0.4742\n",
      "Epoch 8, Loss: 0.3056\n",
      "Epoch 8, Loss: 0.2329\n",
      "Epoch 8, Loss: 0.1568\n",
      "Epoch 8, Loss: 0.1068\n",
      "Epoch 8, Loss: 0.6959\n",
      "Epoch 8, Loss: 0.5001\n",
      "Epoch 8, Loss: 0.5331\n",
      "Epoch 8, Loss: 0.4498\n",
      "Epoch 8, Loss: 0.5882\n",
      "Epoch 8, Loss: 0.5944\n",
      "Epoch 8, Loss: 0.7577\n",
      "Epoch 8, Loss: 1.2174\n",
      "Epoch 8, Loss: 0.7782\n",
      "Epoch 8, Loss: 1.2541\n",
      "Epoch 8, Loss: 1.2720\n",
      "Epoch 8, Loss: 0.1720\n",
      "Epoch 8, Loss: 0.1688\n",
      "Epoch 8, Loss: 0.6344\n",
      "Epoch 8, Loss: 0.1467\n",
      "Epoch 8, Loss: 0.3681\n",
      "Epoch 8, Loss: 0.4031\n",
      "Epoch 8, Loss: 0.2491\n",
      "Epoch 8, Loss: 0.2822\n",
      "Epoch 8, Loss: 0.4314\n",
      "Epoch 8, Loss: 0.0702\n",
      "Epoch 9, Loss: 0.8146\n",
      "Epoch 9, Loss: 0.2876\n",
      "Epoch 9, Loss: 0.2179\n",
      "Epoch 9, Loss: 0.2582\n",
      "Epoch 9, Loss: 0.1820\n",
      "Epoch 9, Loss: 0.6072\n",
      "Epoch 9, Loss: 0.4753\n",
      "Epoch 9, Loss: 0.1968\n",
      "Epoch 9, Loss: 0.1265\n",
      "Epoch 9, Loss: 0.2866\n",
      "Epoch 9, Loss: 0.5240\n",
      "Epoch 9, Loss: 0.3434\n",
      "Epoch 9, Loss: 0.3670\n",
      "Epoch 9, Loss: 0.2486\n",
      "Epoch 9, Loss: 0.7646\n",
      "Epoch 9, Loss: 0.8173\n",
      "Epoch 9, Loss: 0.1482\n",
      "Epoch 9, Loss: 0.1807\n",
      "Epoch 9, Loss: 0.8603\n",
      "Epoch 9, Loss: 0.7082\n",
      "Epoch 9, Loss: 0.2260\n",
      "Epoch 9, Loss: 0.4521\n",
      "Epoch 9, Loss: 0.2009\n",
      "Epoch 9, Loss: 0.0507\n",
      "Epoch 9, Loss: 0.5017\n",
      "Epoch 9, Loss: 0.5376\n",
      "Epoch 9, Loss: 0.2628\n",
      "Epoch 9, Loss: 0.4814\n",
      "Epoch 9, Loss: 0.2054\n",
      "Epoch 9, Loss: 0.6823\n",
      "Epoch 9, Loss: 0.1625\n",
      "Epoch 9, Loss: 0.1370\n",
      "Epoch 9, Loss: 0.2560\n",
      "Epoch 9, Loss: 0.3845\n",
      "Epoch 9, Loss: 0.2971\n",
      "Epoch 9, Loss: 0.7256\n",
      "Epoch 9, Loss: 0.6475\n",
      "Epoch 9, Loss: 0.2598\n",
      "Epoch 9, Loss: 0.3116\n",
      "Epoch 9, Loss: 0.4746\n",
      "Epoch 9, Loss: 0.2422\n",
      "Epoch 9, Loss: 0.7443\n",
      "Epoch 9, Loss: 0.3499\n",
      "Epoch 9, Loss: 0.6400\n",
      "Epoch 9, Loss: 0.1894\n",
      "Epoch 9, Loss: 0.2407\n",
      "Epoch 9, Loss: 0.1453\n",
      "Epoch 9, Loss: 0.0991\n",
      "Epoch 9, Loss: 0.8835\n",
      "Epoch 9, Loss: 0.0913\n",
      "Epoch 9, Loss: 0.0551\n",
      "Epoch 9, Loss: 0.0535\n",
      "Epoch 9, Loss: 0.0291\n",
      "Epoch 9, Loss: 0.6684\n",
      "Epoch 9, Loss: 0.7577\n",
      "Epoch 9, Loss: 0.4843\n",
      "Epoch 9, Loss: 0.3639\n",
      "Epoch 9, Loss: 0.4888\n",
      "Epoch 9, Loss: 0.3088\n",
      "Epoch 9, Loss: 0.2553\n",
      "Epoch 9, Loss: 0.1424\n",
      "Epoch 9, Loss: 0.6751\n",
      "Epoch 9, Loss: 0.1276\n",
      "Epoch 9, Loss: 0.1004\n",
      "Epoch 9, Loss: 0.1021\n",
      "Epoch 9, Loss: 0.0963\n",
      "Epoch 9, Loss: 0.1102\n",
      "Epoch 9, Loss: 0.6703\n",
      "Epoch 9, Loss: 0.0543\n",
      "Epoch 9, Loss: 0.5953\n",
      "Epoch 9, Loss: 0.4796\n",
      "Epoch 9, Loss: 0.3031\n",
      "Epoch 9, Loss: 1.1733\n",
      "Epoch 9, Loss: 1.1929\n",
      "Epoch 9, Loss: 0.5040\n",
      "Epoch 9, Loss: 0.3917\n",
      "Epoch 9, Loss: 1.2841\n",
      "Epoch 9, Loss: 0.3031\n",
      "Epoch 9, Loss: 0.1331\n",
      "Epoch 9, Loss: 0.1476\n",
      "Epoch 9, Loss: 0.2938\n",
      "Epoch 9, Loss: 0.0878\n",
      "Epoch 9, Loss: 0.3039\n",
      "Epoch 9, Loss: 0.0944\n",
      "Epoch 9, Loss: 0.0205\n",
      "Epoch 9, Loss: 0.0182\n",
      "Epoch 9, Loss: 0.7215\n",
      "Epoch 9, Loss: 0.7937\n",
      "Epoch 9, Loss: 0.6589\n",
      "Epoch 9, Loss: 0.3986\n",
      "Epoch 9, Loss: 0.3410\n",
      "Epoch 9, Loss: 1.1124\n",
      "Epoch 9, Loss: 0.9175\n",
      "Epoch 9, Loss: 0.8825\n",
      "Epoch 9, Loss: 0.5655\n",
      "Epoch 9, Loss: 0.4956\n",
      "Epoch 9, Loss: 0.3440\n",
      "Epoch 9, Loss: 0.0508\n",
      "Epoch 9, Loss: 0.0968\n",
      "Epoch 9, Loss: 0.0635\n",
      "Epoch 9, Loss: 0.1385\n",
      "Epoch 9, Loss: 0.0902\n",
      "Epoch 9, Loss: 0.1942\n",
      "Epoch 9, Loss: 0.3887\n",
      "Epoch 9, Loss: 0.2323\n",
      "Epoch 9, Loss: 0.1448\n",
      "Epoch 9, Loss: 0.4626\n",
      "Epoch 9, Loss: 0.0200\n",
      "Epoch 9, Loss: 0.4100\n",
      "Epoch 9, Loss: 0.3748\n",
      "Epoch 9, Loss: 0.6163\n",
      "Epoch 9, Loss: 0.8025\n",
      "Epoch 9, Loss: 0.3690\n",
      "Epoch 9, Loss: 0.2161\n",
      "Epoch 9, Loss: 0.2082\n",
      "Epoch 9, Loss: 0.9858\n",
      "Epoch 9, Loss: 0.3172\n",
      "Epoch 9, Loss: 0.4263\n",
      "Epoch 9, Loss: 0.1433\n",
      "Epoch 9, Loss: 0.1327\n",
      "Epoch 9, Loss: 0.1570\n",
      "Epoch 9, Loss: 0.6298\n",
      "Epoch 9, Loss: 0.4464\n",
      "Epoch 9, Loss: 0.5351\n",
      "Epoch 9, Loss: 0.4028\n",
      "Epoch 9, Loss: 0.2648\n",
      "Epoch 9, Loss: 1.4946\n",
      "Epoch 9, Loss: 0.4751\n",
      "Epoch 9, Loss: 0.2407\n",
      "Epoch 9, Loss: 0.6070\n",
      "Epoch 9, Loss: 0.3960\n",
      "Epoch 9, Loss: 0.4391\n",
      "Epoch 9, Loss: 0.2468\n",
      "Epoch 9, Loss: 0.0583\n",
      "Epoch 9, Loss: 0.1997\n",
      "Epoch 9, Loss: 0.5249\n",
      "Epoch 9, Loss: 0.1394\n",
      "Epoch 9, Loss: 0.2972\n",
      "Epoch 9, Loss: 0.5958\n",
      "Epoch 9, Loss: 0.1723\n",
      "Epoch 9, Loss: 0.1742\n",
      "Epoch 9, Loss: 0.4107\n",
      "Epoch 9, Loss: 0.0302\n",
      "Epoch 10, Loss: 1.0537\n",
      "Epoch 10, Loss: 0.4226\n",
      "Epoch 10, Loss: 0.2086\n",
      "Epoch 10, Loss: 0.1934\n",
      "Epoch 10, Loss: 0.2760\n",
      "Epoch 10, Loss: 0.6426\n",
      "Epoch 10, Loss: 0.2277\n",
      "Epoch 10, Loss: 0.1230\n",
      "Epoch 10, Loss: 0.0842\n",
      "Epoch 10, Loss: 0.0469\n",
      "Epoch 10, Loss: 0.1934\n",
      "Epoch 10, Loss: 0.0121\n",
      "Epoch 10, Loss: 0.2371\n",
      "Epoch 10, Loss: 0.1462\n",
      "Epoch 10, Loss: 0.9448\n",
      "Epoch 10, Loss: 0.5464\n",
      "Epoch 10, Loss: 0.0965\n",
      "Epoch 10, Loss: 0.1234\n",
      "Epoch 10, Loss: 0.9928\n",
      "Epoch 10, Loss: 0.3300\n",
      "Epoch 10, Loss: 0.1221\n",
      "Epoch 10, Loss: 0.1004\n",
      "Epoch 10, Loss: 0.7543\n",
      "Epoch 10, Loss: 0.0938\n",
      "Epoch 10, Loss: 0.0571\n",
      "Epoch 10, Loss: 0.0643\n",
      "Epoch 10, Loss: 0.7893\n",
      "Epoch 10, Loss: 0.1570\n",
      "Epoch 10, Loss: 0.5202\n",
      "Epoch 10, Loss: 0.6959\n",
      "Epoch 10, Loss: 0.4725\n",
      "Epoch 10, Loss: 0.1875\n",
      "Epoch 10, Loss: 0.8614\n",
      "Epoch 10, Loss: 0.2139\n",
      "Epoch 10, Loss: 0.7641\n",
      "Epoch 10, Loss: 1.3999\n",
      "Epoch 10, Loss: 2.4784\n",
      "Epoch 10, Loss: 1.3640\n",
      "Epoch 10, Loss: 0.4422\n",
      "Epoch 10, Loss: 0.2765\n",
      "Epoch 10, Loss: 0.1284\n",
      "Epoch 10, Loss: 0.1905\n",
      "Epoch 10, Loss: 0.0977\n",
      "Epoch 10, Loss: 0.5221\n",
      "Epoch 10, Loss: 0.1029\n",
      "Epoch 10, Loss: 0.0884\n",
      "Epoch 10, Loss: 0.1861\n",
      "Epoch 10, Loss: 0.0586\n",
      "Epoch 10, Loss: 1.0244\n",
      "Epoch 10, Loss: 0.3395\n",
      "Epoch 10, Loss: 0.0564\n",
      "Epoch 10, Loss: 0.1654\n",
      "Epoch 10, Loss: 0.0279\n",
      "Epoch 10, Loss: 0.2837\n",
      "Epoch 10, Loss: 0.4297\n",
      "Epoch 10, Loss: 0.3082\n",
      "Epoch 10, Loss: 0.3125\n",
      "Epoch 10, Loss: 0.1779\n",
      "Epoch 10, Loss: 0.1073\n",
      "Epoch 10, Loss: 0.0940\n",
      "Epoch 10, Loss: 0.0619\n",
      "Epoch 10, Loss: 0.7762\n",
      "Epoch 10, Loss: 0.0713\n",
      "Epoch 10, Loss: 0.3428\n",
      "Epoch 10, Loss: 0.3418\n",
      "Epoch 10, Loss: 0.1442\n",
      "Epoch 10, Loss: 0.1538\n",
      "Epoch 10, Loss: 0.6060\n",
      "Epoch 10, Loss: 0.0241\n",
      "Epoch 10, Loss: 0.2522\n",
      "Epoch 10, Loss: 0.2236\n",
      "Epoch 10, Loss: 0.1555\n",
      "Epoch 10, Loss: 1.3991\n",
      "Epoch 10, Loss: 1.7911\n",
      "Epoch 10, Loss: 0.2461\n",
      "Epoch 10, Loss: 0.7758\n",
      "Epoch 10, Loss: 1.2335\n",
      "Epoch 10, Loss: 0.1776\n",
      "Epoch 10, Loss: 0.1617\n",
      "Epoch 10, Loss: 0.0726\n",
      "Epoch 10, Loss: 0.6307\n",
      "Epoch 10, Loss: 0.0592\n",
      "Epoch 10, Loss: 0.0463\n",
      "Epoch 10, Loss: 0.0848\n",
      "Epoch 10, Loss: 0.0973\n",
      "Epoch 10, Loss: 0.2307\n",
      "Epoch 10, Loss: 0.3564\n",
      "Epoch 10, Loss: 0.3730\n",
      "Epoch 10, Loss: 0.3143\n",
      "Epoch 10, Loss: 0.2919\n",
      "Epoch 10, Loss: 0.6198\n",
      "Epoch 10, Loss: 0.5375\n",
      "Epoch 10, Loss: 0.3803\n",
      "Epoch 10, Loss: 0.5076\n",
      "Epoch 10, Loss: 0.2671\n",
      "Epoch 10, Loss: 0.7987\n",
      "Epoch 10, Loss: 1.7703\n",
      "Epoch 10, Loss: 0.2497\n",
      "Epoch 10, Loss: 0.0917\n",
      "Epoch 10, Loss: 0.1133\n",
      "Epoch 10, Loss: 0.0980\n",
      "Epoch 10, Loss: 0.0783\n",
      "Epoch 10, Loss: 0.3274\n",
      "Epoch 10, Loss: 0.5038\n",
      "Epoch 10, Loss: 0.3234\n",
      "Epoch 10, Loss: 0.1548\n",
      "Epoch 10, Loss: 0.6620\n",
      "Epoch 10, Loss: 0.0338\n",
      "Epoch 10, Loss: 0.9127\n",
      "Epoch 10, Loss: 0.6778\n",
      "Epoch 10, Loss: 0.2558\n",
      "Epoch 10, Loss: 0.3765\n",
      "Epoch 10, Loss: 0.3736\n",
      "Epoch 10, Loss: 0.1653\n",
      "Epoch 10, Loss: 0.4170\n",
      "Epoch 10, Loss: 1.2113\n",
      "Epoch 10, Loss: 1.1727\n",
      "Epoch 10, Loss: 0.8232\n",
      "Epoch 10, Loss: 0.3898\n",
      "Epoch 10, Loss: 0.2889\n",
      "Epoch 10, Loss: 0.1014\n",
      "Epoch 10, Loss: 0.0581\n",
      "Epoch 10, Loss: 0.6286\n",
      "Epoch 10, Loss: 0.1615\n",
      "Epoch 10, Loss: 0.5230\n",
      "Epoch 10, Loss: 0.8679\n",
      "Epoch 10, Loss: 1.3724\n",
      "Epoch 10, Loss: 0.3636\n",
      "Epoch 10, Loss: 1.0891\n",
      "Epoch 10, Loss: 0.7516\n",
      "Epoch 10, Loss: 0.8915\n",
      "Epoch 10, Loss: 0.5300\n",
      "Epoch 10, Loss: 0.6107\n",
      "Epoch 10, Loss: 0.0760\n",
      "Epoch 10, Loss: 0.8070\n",
      "Epoch 10, Loss: 1.2169\n",
      "Epoch 10, Loss: 0.3979\n",
      "Epoch 10, Loss: 0.6131\n",
      "Epoch 10, Loss: 0.5253\n",
      "Epoch 10, Loss: 0.1446\n",
      "Epoch 10, Loss: 0.0914\n",
      "Epoch 10, Loss: 0.6026\n",
      "Epoch 10, Loss: 0.1407\n",
      "Epoch 11, Loss: 2.3712\n",
      "Epoch 11, Loss: 0.2382\n",
      "Epoch 11, Loss: 0.2765\n",
      "Epoch 11, Loss: 0.4362\n",
      "Epoch 11, Loss: 0.5234\n",
      "Epoch 11, Loss: 0.9466\n",
      "Epoch 11, Loss: 0.9613\n",
      "Epoch 11, Loss: 0.9596\n",
      "Epoch 11, Loss: 0.1099\n",
      "Epoch 11, Loss: 0.3567\n",
      "Epoch 11, Loss: 1.1666\n",
      "Epoch 11, Loss: 0.1570\n",
      "Epoch 11, Loss: 0.7145\n",
      "Epoch 11, Loss: 0.7412\n",
      "Epoch 11, Loss: 0.5417\n",
      "Epoch 11, Loss: 0.7731\n",
      "Epoch 11, Loss: 0.6666\n",
      "Epoch 11, Loss: 0.0655\n",
      "Epoch 11, Loss: 1.3014\n",
      "Epoch 11, Loss: 0.2637\n",
      "Epoch 11, Loss: 0.1054\n",
      "Epoch 11, Loss: 0.0793\n",
      "Epoch 11, Loss: 0.9480\n",
      "Epoch 11, Loss: 0.0972\n",
      "Epoch 11, Loss: 0.0739\n",
      "Epoch 11, Loss: 0.8712\n",
      "Epoch 11, Loss: 0.7405\n",
      "Epoch 11, Loss: 0.5774\n",
      "Epoch 11, Loss: 0.3397\n",
      "Epoch 11, Loss: 1.4896\n",
      "Epoch 11, Loss: 0.2401\n",
      "Epoch 11, Loss: 0.2010\n",
      "Epoch 11, Loss: 0.8400\n",
      "Epoch 11, Loss: 1.2522\n",
      "Epoch 11, Loss: 0.7742\n",
      "Epoch 11, Loss: 0.6204\n",
      "Epoch 11, Loss: 3.5297\n",
      "Epoch 11, Loss: 0.9055\n",
      "Epoch 11, Loss: 0.8459\n",
      "Epoch 11, Loss: 0.5479\n",
      "Epoch 11, Loss: 0.4995\n",
      "Epoch 11, Loss: 0.1114\n",
      "Epoch 11, Loss: 0.1225\n",
      "Epoch 11, Loss: 0.3279\n",
      "Epoch 11, Loss: 0.0477\n",
      "Epoch 11, Loss: 0.1082\n",
      "Epoch 11, Loss: 0.1133\n",
      "Epoch 11, Loss: 0.4737\n",
      "Epoch 11, Loss: 1.4968\n",
      "Epoch 11, Loss: 0.2164\n",
      "Epoch 11, Loss: 0.0534\n",
      "Epoch 11, Loss: 0.1125\n",
      "Epoch 11, Loss: 0.0806\n",
      "Epoch 11, Loss: 0.4191\n",
      "Epoch 11, Loss: 0.2117\n",
      "Epoch 11, Loss: 0.1288\n",
      "Epoch 11, Loss: 0.0549\n",
      "Epoch 11, Loss: 0.3829\n",
      "Epoch 11, Loss: 0.1811\n",
      "Epoch 11, Loss: 0.1423\n",
      "Epoch 11, Loss: 0.1026\n",
      "Epoch 11, Loss: 0.6419\n",
      "Epoch 11, Loss: 0.0172\n",
      "Epoch 11, Loss: 0.0274\n",
      "Epoch 11, Loss: 0.0796\n",
      "Epoch 11, Loss: 0.0956\n",
      "Epoch 11, Loss: 0.1193\n",
      "Epoch 11, Loss: 0.6409\n",
      "Epoch 11, Loss: 0.0876\n",
      "Epoch 11, Loss: 0.6959\n",
      "Epoch 11, Loss: 0.5090\n",
      "Epoch 11, Loss: 0.1363\n",
      "Epoch 11, Loss: 0.1656\n",
      "Epoch 11, Loss: 0.9261\n",
      "Epoch 11, Loss: 0.8020\n",
      "Epoch 11, Loss: 0.1747\n",
      "Epoch 11, Loss: 0.8771\n",
      "Epoch 11, Loss: 0.2898\n",
      "Epoch 11, Loss: 0.5925\n",
      "Epoch 11, Loss: 0.1244\n",
      "Epoch 11, Loss: 0.6095\n",
      "Epoch 11, Loss: 0.0414\n",
      "Epoch 11, Loss: 0.0553\n",
      "Epoch 11, Loss: 0.0474\n",
      "Epoch 11, Loss: 0.0514\n",
      "Epoch 11, Loss: 0.0057\n",
      "Epoch 11, Loss: 0.5012\n",
      "Epoch 11, Loss: 0.4129\n",
      "Epoch 11, Loss: 0.2154\n",
      "Epoch 11, Loss: 0.2059\n",
      "Epoch 11, Loss: 0.2959\n",
      "Epoch 11, Loss: 0.0178\n",
      "Epoch 11, Loss: 0.2438\n",
      "Epoch 11, Loss: 0.2734\n",
      "Epoch 11, Loss: 0.2212\n",
      "Epoch 11, Loss: 0.2959\n",
      "Epoch 11, Loss: 0.7377\n",
      "Epoch 11, Loss: 0.3903\n",
      "Epoch 11, Loss: 0.0514\n",
      "Epoch 11, Loss: 0.0549\n",
      "Epoch 11, Loss: 0.0695\n",
      "Epoch 11, Loss: 0.1007\n",
      "Epoch 11, Loss: 0.1260\n",
      "Epoch 11, Loss: 0.0819\n",
      "Epoch 11, Loss: 0.0577\n",
      "Epoch 11, Loss: 0.0567\n",
      "Epoch 11, Loss: 0.7929\n",
      "Epoch 11, Loss: 0.0335\n",
      "Epoch 11, Loss: 0.4673\n",
      "Epoch 11, Loss: 0.4224\n",
      "Epoch 11, Loss: 0.4245\n",
      "Epoch 11, Loss: 0.5656\n",
      "Epoch 11, Loss: 0.5271\n",
      "Epoch 11, Loss: 0.0625\n",
      "Epoch 11, Loss: 0.2679\n",
      "Epoch 11, Loss: 0.6278\n",
      "Epoch 11, Loss: 0.2145\n",
      "Epoch 11, Loss: 0.8070\n",
      "Epoch 11, Loss: 0.1248\n",
      "Epoch 11, Loss: 0.0636\n",
      "Epoch 11, Loss: 0.0535\n",
      "Epoch 11, Loss: 0.0891\n",
      "Epoch 11, Loss: 0.5500\n",
      "Epoch 11, Loss: 0.0758\n",
      "Epoch 11, Loss: 0.0968\n",
      "Epoch 11, Loss: 0.0659\n",
      "Epoch 11, Loss: 0.6627\n",
      "Epoch 11, Loss: 1.5268\n",
      "Epoch 11, Loss: 1.2099\n",
      "Epoch 11, Loss: 0.8978\n",
      "Epoch 11, Loss: 0.7649\n",
      "Epoch 11, Loss: 1.1766\n",
      "Epoch 11, Loss: 1.1945\n",
      "Epoch 11, Loss: 0.0955\n",
      "Epoch 11, Loss: 0.0250\n",
      "Epoch 11, Loss: 1.0825\n",
      "Epoch 11, Loss: 0.1681\n",
      "Epoch 11, Loss: 0.2804\n",
      "Epoch 11, Loss: 0.2104\n",
      "Epoch 11, Loss: 0.0706\n",
      "Epoch 11, Loss: 0.1702\n",
      "Epoch 11, Loss: 0.6187\n",
      "Epoch 11, Loss: 0.2096\n",
      "Epoch 12, Loss: 1.2622\n",
      "Epoch 12, Loss: 0.2907\n",
      "Epoch 12, Loss: 0.0495\n",
      "Epoch 12, Loss: 0.3776\n",
      "Epoch 12, Loss: 0.2883\n",
      "Epoch 12, Loss: 0.7841\n",
      "Epoch 12, Loss: 0.4238\n",
      "Epoch 12, Loss: 0.6733\n",
      "Epoch 12, Loss: 0.0628\n",
      "Epoch 12, Loss: 0.0919\n",
      "Epoch 12, Loss: 0.6526\n",
      "Epoch 12, Loss: 0.0336\n",
      "Epoch 12, Loss: 1.4029\n",
      "Epoch 12, Loss: 1.4550\n",
      "Epoch 12, Loss: 0.3304\n",
      "Epoch 12, Loss: 0.6804\n",
      "Epoch 12, Loss: 0.6429\n",
      "Epoch 12, Loss: 0.5073\n",
      "Epoch 12, Loss: 1.4555\n",
      "Epoch 12, Loss: 0.6925\n",
      "Epoch 12, Loss: 0.2221\n",
      "Epoch 12, Loss: 0.2799\n",
      "Epoch 12, Loss: 1.1148\n",
      "Epoch 12, Loss: 0.1963\n",
      "Epoch 12, Loss: 0.2664\n",
      "Epoch 12, Loss: 0.1540\n",
      "Epoch 12, Loss: 0.0813\n",
      "Epoch 12, Loss: 0.0822\n",
      "Epoch 12, Loss: 0.0904\n",
      "Epoch 12, Loss: 1.9287\n",
      "Epoch 12, Loss: 0.2555\n",
      "Epoch 12, Loss: 0.1500\n",
      "Epoch 12, Loss: 0.7945\n",
      "Epoch 12, Loss: 0.5949\n",
      "Epoch 12, Loss: 0.3484\n",
      "Epoch 12, Loss: 0.3170\n",
      "Epoch 12, Loss: 1.7032\n",
      "Epoch 12, Loss: 0.4204\n",
      "Epoch 12, Loss: 0.3815\n",
      "Epoch 12, Loss: 0.6126\n",
      "Epoch 12, Loss: 0.2908\n",
      "Epoch 12, Loss: 0.0746\n",
      "Epoch 12, Loss: 0.1106\n",
      "Epoch 12, Loss: 0.6689\n",
      "Epoch 12, Loss: 0.0610\n",
      "Epoch 12, Loss: 0.1198\n",
      "Epoch 12, Loss: 0.4915\n",
      "Epoch 12, Loss: 0.1706\n",
      "Epoch 12, Loss: 1.1985\n",
      "Epoch 12, Loss: 0.3103\n",
      "Epoch 12, Loss: 0.0762\n",
      "Epoch 12, Loss: 0.0234\n",
      "Epoch 12, Loss: 0.0365\n",
      "Epoch 12, Loss: 0.5347\n",
      "Epoch 12, Loss: 0.6688\n",
      "Epoch 12, Loss: 0.3373\n",
      "Epoch 12, Loss: 0.7490\n",
      "Epoch 12, Loss: 0.1713\n",
      "Epoch 12, Loss: 0.1143\n",
      "Epoch 12, Loss: 0.1008\n",
      "Epoch 12, Loss: 0.0528\n",
      "Epoch 12, Loss: 0.6389\n",
      "Epoch 12, Loss: 0.0536\n",
      "Epoch 12, Loss: 0.3381\n",
      "Epoch 12, Loss: 0.6553\n",
      "Epoch 12, Loss: 0.1765\n",
      "Epoch 12, Loss: 0.1138\n",
      "Epoch 12, Loss: 0.4339\n",
      "Epoch 12, Loss: 0.0402\n",
      "Epoch 12, Loss: 0.4835\n",
      "Epoch 12, Loss: 0.0796\n",
      "Epoch 12, Loss: 0.1016\n",
      "Epoch 12, Loss: 0.1136\n",
      "Epoch 12, Loss: 0.4668\n",
      "Epoch 12, Loss: 0.1066\n",
      "Epoch 12, Loss: 0.0940\n",
      "Epoch 12, Loss: 0.3745\n",
      "Epoch 12, Loss: 0.1116\n",
      "Epoch 12, Loss: 0.3718\n",
      "Epoch 12, Loss: 0.0321\n",
      "Epoch 12, Loss: 0.7321\n",
      "Epoch 12, Loss: 0.0170\n",
      "Epoch 12, Loss: 0.0370\n",
      "Epoch 12, Loss: 0.0343\n",
      "Epoch 12, Loss: 0.0367\n",
      "Epoch 12, Loss: 0.0094\n",
      "Epoch 12, Loss: 0.4535\n",
      "Epoch 12, Loss: 0.3144\n",
      "Epoch 12, Loss: 0.0998\n",
      "Epoch 12, Loss: 0.0532\n",
      "Epoch 12, Loss: 0.0766\n",
      "Epoch 12, Loss: 0.0799\n",
      "Epoch 12, Loss: 0.1571\n",
      "Epoch 12, Loss: 0.1525\n",
      "Epoch 12, Loss: 0.1199\n",
      "Epoch 12, Loss: 0.2973\n",
      "Epoch 12, Loss: 0.4493\n",
      "Epoch 12, Loss: 0.0797\n",
      "Epoch 12, Loss: 0.0699\n",
      "Epoch 12, Loss: 0.1028\n",
      "Epoch 12, Loss: 0.5696\n",
      "Epoch 12, Loss: 0.0383\n",
      "Epoch 12, Loss: 0.1411\n",
      "Epoch 12, Loss: 0.0620\n",
      "Epoch 12, Loss: 0.1325\n",
      "Epoch 12, Loss: 0.1361\n",
      "Epoch 12, Loss: 0.7355\n",
      "Epoch 12, Loss: 0.0518\n",
      "Epoch 12, Loss: 0.4906\n",
      "Epoch 12, Loss: 0.3491\n",
      "Epoch 12, Loss: 0.2396\n",
      "Epoch 12, Loss: 0.2098\n",
      "Epoch 12, Loss: 0.2635\n",
      "Epoch 12, Loss: 0.1967\n",
      "Epoch 12, Loss: 0.1139\n",
      "Epoch 12, Loss: 0.5350\n",
      "Epoch 12, Loss: 0.7251\n",
      "Epoch 12, Loss: 0.7072\n",
      "Epoch 12, Loss: 0.0505\n",
      "Epoch 12, Loss: 0.0243\n",
      "Epoch 12, Loss: 0.0426\n",
      "Epoch 12, Loss: 0.0655\n",
      "Epoch 12, Loss: 1.1876\n",
      "Epoch 12, Loss: 0.2757\n",
      "Epoch 12, Loss: 0.1580\n",
      "Epoch 12, Loss: 0.0408\n",
      "Epoch 12, Loss: 1.3474\n",
      "Epoch 12, Loss: 0.5951\n",
      "Epoch 12, Loss: 0.2832\n",
      "Epoch 12, Loss: 0.2076\n",
      "Epoch 12, Loss: 0.1172\n",
      "Epoch 12, Loss: 0.2145\n",
      "Epoch 12, Loss: 0.3512\n",
      "Epoch 12, Loss: 0.0363\n",
      "Epoch 12, Loss: 0.0322\n",
      "Epoch 12, Loss: 0.7597\n",
      "Epoch 12, Loss: 0.2402\n",
      "Epoch 12, Loss: 0.5228\n",
      "Epoch 12, Loss: 0.3291\n",
      "Epoch 12, Loss: 0.2540\n",
      "Epoch 12, Loss: 0.0507\n",
      "Epoch 12, Loss: 0.7305\n",
      "Epoch 12, Loss: 0.0700\n",
      "Epoch 13, Loss: 0.9785\n",
      "Epoch 13, Loss: 0.1192\n",
      "Epoch 13, Loss: 0.0345\n",
      "Epoch 13, Loss: 0.0776\n",
      "Epoch 13, Loss: 0.0765\n",
      "Epoch 13, Loss: 0.7289\n",
      "Epoch 13, Loss: 0.1661\n",
      "Epoch 13, Loss: 0.2482\n",
      "Epoch 13, Loss: 0.0770\n",
      "Epoch 13, Loss: 0.0834\n",
      "Epoch 13, Loss: 0.9294\n",
      "Epoch 13, Loss: 0.0292\n",
      "Epoch 13, Loss: 0.2429\n",
      "Epoch 13, Loss: 0.4278\n",
      "Epoch 13, Loss: 0.3993\n",
      "Epoch 13, Loss: 0.3601\n",
      "Epoch 13, Loss: 0.2084\n",
      "Epoch 13, Loss: 0.0767\n",
      "Epoch 13, Loss: 0.6872\n",
      "Epoch 13, Loss: 0.9714\n",
      "Epoch 13, Loss: 0.0456\n",
      "Epoch 13, Loss: 0.0404\n",
      "Epoch 13, Loss: 0.5454\n",
      "Epoch 13, Loss: 0.0527\n",
      "Epoch 13, Loss: 0.0590\n",
      "Epoch 13, Loss: 0.0431\n",
      "Epoch 13, Loss: 0.1339\n",
      "Epoch 13, Loss: 0.0382\n",
      "Epoch 13, Loss: 0.0802\n",
      "Epoch 13, Loss: 0.9355\n",
      "Epoch 13, Loss: 0.0778\n",
      "Epoch 13, Loss: 0.1067\n",
      "Epoch 13, Loss: 0.7716\n",
      "Epoch 13, Loss: 0.1099\n",
      "Epoch 13, Loss: 0.4001\n",
      "Epoch 13, Loss: 0.6290\n",
      "Epoch 13, Loss: 2.7662\n",
      "Epoch 13, Loss: 0.1988\n",
      "Epoch 13, Loss: 0.4411\n",
      "Epoch 13, Loss: 0.1868\n",
      "Epoch 13, Loss: 0.4410\n",
      "Epoch 13, Loss: 0.0431\n",
      "Epoch 13, Loss: 0.0711\n",
      "Epoch 13, Loss: 0.6366\n",
      "Epoch 13, Loss: 0.0267\n",
      "Epoch 13, Loss: 0.1564\n",
      "Epoch 13, Loss: 0.1095\n",
      "Epoch 13, Loss: 0.0610\n",
      "Epoch 13, Loss: 1.0885\n",
      "Epoch 13, Loss: 0.1087\n",
      "Epoch 13, Loss: 0.0110\n",
      "Epoch 13, Loss: 0.0193\n",
      "Epoch 13, Loss: 0.0481\n",
      "Epoch 13, Loss: 0.1643\n",
      "Epoch 13, Loss: 0.1423\n",
      "Epoch 13, Loss: 0.0571\n",
      "Epoch 13, Loss: 0.0519\n",
      "Epoch 13, Loss: 0.1335\n",
      "Epoch 13, Loss: 0.0095\n",
      "Epoch 13, Loss: 0.0256\n",
      "Epoch 13, Loss: 0.0385\n",
      "Epoch 13, Loss: 0.6668\n",
      "Epoch 13, Loss: 0.0348\n",
      "Epoch 13, Loss: 0.0788\n",
      "Epoch 13, Loss: 0.0250\n",
      "Epoch 13, Loss: 0.0334\n",
      "Epoch 13, Loss: 0.0871\n",
      "Epoch 13, Loss: 0.3875\n",
      "Epoch 13, Loss: 0.0381\n",
      "Epoch 13, Loss: 0.3802\n",
      "Epoch 13, Loss: 0.5987\n",
      "Epoch 13, Loss: 0.3089\n",
      "Epoch 13, Loss: 0.0944\n",
      "Epoch 13, Loss: 0.9072\n",
      "Epoch 13, Loss: 0.1558\n",
      "Epoch 13, Loss: 0.0775\n",
      "Epoch 13, Loss: 0.1457\n",
      "Epoch 13, Loss: 0.1478\n",
      "Epoch 13, Loss: 0.4428\n",
      "Epoch 13, Loss: 0.0231\n",
      "Epoch 13, Loss: 0.8010\n",
      "Epoch 13, Loss: 0.0250\n",
      "Epoch 13, Loss: 0.1502\n",
      "Epoch 13, Loss: 0.0314\n",
      "Epoch 13, Loss: 0.0416\n",
      "Epoch 13, Loss: 0.0568\n",
      "Epoch 13, Loss: 0.5384\n",
      "Epoch 13, Loss: 0.3255\n",
      "Epoch 13, Loss: 0.1434\n",
      "Epoch 13, Loss: 0.1401\n",
      "Epoch 13, Loss: 0.1266\n",
      "Epoch 13, Loss: 0.1894\n",
      "Epoch 13, Loss: 0.0941\n",
      "Epoch 13, Loss: 0.0635\n",
      "Epoch 13, Loss: 0.0603\n",
      "Epoch 13, Loss: 0.4704\n",
      "Epoch 13, Loss: 0.7184\n",
      "Epoch 13, Loss: 0.1151\n",
      "Epoch 13, Loss: 0.0436\n",
      "Epoch 13, Loss: 0.0656\n",
      "Epoch 13, Loss: 0.0598\n",
      "Epoch 13, Loss: 0.0458\n",
      "Epoch 13, Loss: 0.0483\n",
      "Epoch 13, Loss: 0.0519\n",
      "Epoch 13, Loss: 0.0284\n",
      "Epoch 13, Loss: 0.0303\n",
      "Epoch 13, Loss: 0.6501\n",
      "Epoch 13, Loss: 0.1027\n",
      "Epoch 13, Loss: 0.3650\n",
      "Epoch 13, Loss: 0.3905\n",
      "Epoch 13, Loss: 0.1645\n",
      "Epoch 13, Loss: 0.2300\n",
      "Epoch 13, Loss: 0.1447\n",
      "Epoch 13, Loss: 0.0524\n",
      "Epoch 13, Loss: 0.2749\n",
      "Epoch 13, Loss: 0.4065\n",
      "Epoch 13, Loss: 0.0673\n",
      "Epoch 13, Loss: 0.8890\n",
      "Epoch 13, Loss: 0.0529\n",
      "Epoch 13, Loss: 0.0460\n",
      "Epoch 13, Loss: 0.0462\n",
      "Epoch 13, Loss: 0.1129\n",
      "Epoch 13, Loss: 0.7016\n",
      "Epoch 13, Loss: 0.1001\n",
      "Epoch 13, Loss: 0.1571\n",
      "Epoch 13, Loss: 0.0998\n",
      "Epoch 13, Loss: 1.7887\n",
      "Epoch 13, Loss: 0.5468\n",
      "Epoch 13, Loss: 0.0582\n",
      "Epoch 13, Loss: 0.0523\n",
      "Epoch 13, Loss: 0.0495\n",
      "Epoch 13, Loss: 0.1634\n",
      "Epoch 13, Loss: 0.2307\n",
      "Epoch 13, Loss: 0.0271\n",
      "Epoch 13, Loss: 0.1139\n",
      "Epoch 13, Loss: 1.0586\n",
      "Epoch 13, Loss: 0.3972\n",
      "Epoch 13, Loss: 0.7112\n",
      "Epoch 13, Loss: 0.9354\n",
      "Epoch 13, Loss: 0.1070\n",
      "Epoch 13, Loss: 0.0529\n",
      "Epoch 13, Loss: 0.5284\n",
      "Epoch 13, Loss: 0.0707\n",
      "Epoch 14, Loss: 0.6678\n",
      "Epoch 14, Loss: 0.0351\n",
      "Epoch 14, Loss: 0.0521\n",
      "Epoch 14, Loss: 0.0340\n",
      "Epoch 14, Loss: 0.0474\n",
      "Epoch 14, Loss: 1.0539\n",
      "Epoch 14, Loss: 0.2981\n",
      "Epoch 14, Loss: 0.6285\n",
      "Epoch 14, Loss: 0.0311\n",
      "Epoch 14, Loss: 0.0576\n",
      "Epoch 14, Loss: 0.7755\n",
      "Epoch 14, Loss: 0.0099\n",
      "Epoch 14, Loss: 0.2071\n",
      "Epoch 14, Loss: 0.2316\n",
      "Epoch 14, Loss: 0.1761\n",
      "Epoch 14, Loss: 0.1307\n",
      "Epoch 14, Loss: 0.1580\n",
      "Epoch 14, Loss: 0.1242\n",
      "Epoch 14, Loss: 0.9418\n",
      "Epoch 14, Loss: 0.0833\n",
      "Epoch 14, Loss: 0.0139\n",
      "Epoch 14, Loss: 0.0314\n",
      "Epoch 14, Loss: 0.7978\n",
      "Epoch 14, Loss: 0.0479\n",
      "Epoch 14, Loss: 0.0362\n",
      "Epoch 14, Loss: 0.0718\n",
      "Epoch 14, Loss: 0.2486\n",
      "Epoch 14, Loss: 0.0515\n",
      "Epoch 14, Loss: 0.0900\n",
      "Epoch 14, Loss: 0.3226\n",
      "Epoch 14, Loss: 0.1827\n",
      "Epoch 14, Loss: 0.0644\n",
      "Epoch 14, Loss: 0.8555\n",
      "Epoch 14, Loss: 0.2825\n",
      "Epoch 14, Loss: 0.0784\n",
      "Epoch 14, Loss: 0.0591\n",
      "Epoch 14, Loss: 2.0549\n",
      "Epoch 14, Loss: 0.1444\n",
      "Epoch 14, Loss: 0.4086\n",
      "Epoch 14, Loss: 0.0238\n",
      "Epoch 14, Loss: 0.5472\n",
      "Epoch 14, Loss: 0.0123\n",
      "Epoch 14, Loss: 0.0231\n",
      "Epoch 14, Loss: 0.5868\n",
      "Epoch 14, Loss: 0.0344\n",
      "Epoch 14, Loss: 0.0134\n",
      "Epoch 14, Loss: 0.0069\n",
      "Epoch 14, Loss: 0.0579\n",
      "Epoch 14, Loss: 0.6731\n",
      "Epoch 14, Loss: 0.3078\n",
      "Epoch 14, Loss: 0.0148\n",
      "Epoch 14, Loss: 0.2228\n",
      "Epoch 14, Loss: 0.0076\n",
      "Epoch 14, Loss: 0.5226\n",
      "Epoch 14, Loss: 0.6317\n",
      "Epoch 14, Loss: 0.1765\n",
      "Epoch 14, Loss: 0.0958\n",
      "Epoch 14, Loss: 0.3430\n",
      "Epoch 14, Loss: 0.0250\n",
      "Epoch 14, Loss: 0.0556\n",
      "Epoch 14, Loss: 0.0139\n",
      "Epoch 14, Loss: 0.4097\n",
      "Epoch 14, Loss: 0.0039\n",
      "Epoch 14, Loss: 0.0513\n",
      "Epoch 14, Loss: 0.0207\n",
      "Epoch 14, Loss: 0.0239\n",
      "Epoch 14, Loss: 0.0294\n",
      "Epoch 14, Loss: 0.7055\n",
      "Epoch 14, Loss: 0.0205\n",
      "Epoch 14, Loss: 0.1590\n",
      "Epoch 14, Loss: 0.1042\n",
      "Epoch 14, Loss: 0.0886\n",
      "Epoch 14, Loss: 0.3413\n",
      "Epoch 14, Loss: 0.5053\n",
      "Epoch 14, Loss: 0.1418\n",
      "Epoch 14, Loss: 0.1152\n",
      "Epoch 14, Loss: 0.9603\n",
      "Epoch 14, Loss: 0.0461\n",
      "Epoch 14, Loss: 0.4741\n",
      "Epoch 14, Loss: 0.0449\n",
      "Epoch 14, Loss: 0.8202\n",
      "Epoch 14, Loss: 0.0271\n",
      "Epoch 14, Loss: 0.0991\n",
      "Epoch 14, Loss: 0.0195\n",
      "Epoch 14, Loss: 0.0159\n",
      "Epoch 14, Loss: 0.0050\n",
      "Epoch 14, Loss: 0.8576\n",
      "Epoch 14, Loss: 0.6207\n",
      "Epoch 14, Loss: 0.3966\n",
      "Epoch 14, Loss: 0.1612\n",
      "Epoch 14, Loss: 0.3608\n",
      "Epoch 14, Loss: 0.0351\n",
      "Epoch 14, Loss: 0.0471\n",
      "Epoch 14, Loss: 0.0521\n",
      "Epoch 14, Loss: 0.0631\n",
      "Epoch 14, Loss: 0.5868\n",
      "Epoch 14, Loss: 0.7670\n",
      "Epoch 14, Loss: 0.0487\n",
      "Epoch 14, Loss: 0.0561\n",
      "Epoch 14, Loss: 0.0353\n",
      "Epoch 14, Loss: 0.1984\n",
      "Epoch 14, Loss: 0.0319\n",
      "Epoch 14, Loss: 0.0128\n",
      "Epoch 14, Loss: 0.0247\n",
      "Epoch 14, Loss: 0.0306\n",
      "Epoch 14, Loss: 0.0258\n",
      "Epoch 14, Loss: 0.6883\n",
      "Epoch 14, Loss: 0.0222\n",
      "Epoch 14, Loss: 0.3727\n",
      "Epoch 14, Loss: 0.3081\n",
      "Epoch 14, Loss: 0.1686\n",
      "Epoch 14, Loss: 0.3607\n",
      "Epoch 14, Loss: 0.0854\n",
      "Epoch 14, Loss: 0.0560\n",
      "Epoch 14, Loss: 0.0398\n",
      "Epoch 14, Loss: 0.4002\n",
      "Epoch 14, Loss: 0.1029\n",
      "Epoch 14, Loss: 0.5972\n",
      "Epoch 14, Loss: 0.0113\n",
      "Epoch 14, Loss: 0.0132\n",
      "Epoch 14, Loss: 0.0161\n",
      "Epoch 14, Loss: 0.0145\n",
      "Epoch 14, Loss: 0.3216\n",
      "Epoch 14, Loss: 0.0473\n",
      "Epoch 14, Loss: 0.0774\n",
      "Epoch 14, Loss: 0.0887\n",
      "Epoch 14, Loss: 1.0123\n",
      "Epoch 14, Loss: 0.4766\n",
      "Epoch 14, Loss: 1.0404\n",
      "Epoch 14, Loss: 0.3976\n",
      "Epoch 14, Loss: 0.1478\n",
      "Epoch 14, Loss: 0.2064\n",
      "Epoch 14, Loss: 0.6465\n",
      "Epoch 14, Loss: 0.0199\n",
      "Epoch 14, Loss: 0.0320\n",
      "Epoch 14, Loss: 0.7344\n",
      "Epoch 14, Loss: 0.1135\n",
      "Epoch 14, Loss: 0.3655\n",
      "Epoch 14, Loss: 1.1695\n",
      "Epoch 14, Loss: 1.0324\n",
      "Epoch 14, Loss: 0.0216\n",
      "Epoch 14, Loss: 0.6035\n",
      "Epoch 14, Loss: 0.0963\n",
      "Epoch 15, Loss: 0.9028\n",
      "Epoch 15, Loss: 0.0604\n",
      "Epoch 15, Loss: 0.0781\n",
      "Epoch 15, Loss: 0.0296\n",
      "Epoch 15, Loss: 0.0756\n",
      "Epoch 15, Loss: 0.5169\n",
      "Epoch 15, Loss: 0.1062\n",
      "Epoch 15, Loss: 0.5823\n",
      "Epoch 15, Loss: 0.0707\n",
      "Epoch 15, Loss: 0.1584\n",
      "Epoch 15, Loss: 0.6377\n",
      "Epoch 15, Loss: 0.0320\n",
      "Epoch 15, Loss: 0.7043\n",
      "Epoch 15, Loss: 0.4360\n",
      "Epoch 15, Loss: 0.3177\n",
      "Epoch 15, Loss: 0.5503\n",
      "Epoch 15, Loss: 0.2102\n",
      "Epoch 15, Loss: 0.0399\n",
      "Epoch 15, Loss: 0.6258\n",
      "Epoch 15, Loss: 0.4675\n",
      "Epoch 15, Loss: 0.0126\n",
      "Epoch 15, Loss: 0.0097\n",
      "Epoch 15, Loss: 1.2272\n",
      "Epoch 15, Loss: 0.1339\n",
      "Epoch 15, Loss: 0.1401\n",
      "Epoch 15, Loss: 0.0566\n",
      "Epoch 15, Loss: 0.0528\n",
      "Epoch 15, Loss: 0.0735\n",
      "Epoch 15, Loss: 0.0131\n",
      "Epoch 15, Loss: 0.1418\n",
      "Epoch 15, Loss: 0.0203\n",
      "Epoch 15, Loss: 0.0193\n",
      "Epoch 15, Loss: 0.9480\n",
      "Epoch 15, Loss: 0.4338\n",
      "Epoch 15, Loss: 0.7833\n",
      "Epoch 15, Loss: 0.5407\n",
      "Epoch 15, Loss: 0.9539\n",
      "Epoch 15, Loss: 0.3099\n",
      "Epoch 15, Loss: 0.1770\n",
      "Epoch 15, Loss: 0.0439\n",
      "Epoch 15, Loss: 0.9548\n",
      "Epoch 15, Loss: 0.0124\n",
      "Epoch 15, Loss: 0.0784\n",
      "Epoch 15, Loss: 0.5752\n",
      "Epoch 15, Loss: 0.0133\n",
      "Epoch 15, Loss: 0.0885\n",
      "Epoch 15, Loss: 0.0509\n",
      "Epoch 15, Loss: 0.0616\n",
      "Epoch 15, Loss: 0.8380\n",
      "Epoch 15, Loss: 0.6473\n",
      "Epoch 15, Loss: 0.0561\n",
      "Epoch 15, Loss: 0.0130\n",
      "Epoch 15, Loss: 0.0952\n",
      "Epoch 15, Loss: 0.2483\n",
      "Epoch 15, Loss: 0.1579\n",
      "Epoch 15, Loss: 0.1550\n",
      "Epoch 15, Loss: 0.4461\n",
      "Epoch 15, Loss: 0.3754\n",
      "Epoch 15, Loss: 0.0131\n",
      "Epoch 15, Loss: 0.0224\n",
      "Epoch 15, Loss: 0.0073\n",
      "Epoch 15, Loss: 0.4092\n",
      "Epoch 15, Loss: 0.0022\n",
      "Epoch 15, Loss: 0.0319\n",
      "Epoch 15, Loss: 0.0185\n",
      "Epoch 15, Loss: 0.0206\n",
      "Epoch 15, Loss: 0.0180\n",
      "Epoch 15, Loss: 0.7506\n",
      "Epoch 15, Loss: 0.0020\n",
      "Epoch 15, Loss: 0.2220\n",
      "Epoch 15, Loss: 0.1452\n",
      "Epoch 15, Loss: 0.0702\n",
      "Epoch 15, Loss: 0.0576\n",
      "Epoch 15, Loss: 1.4684\n",
      "Epoch 15, Loss: 0.4922\n",
      "Epoch 15, Loss: 0.0419\n",
      "Epoch 15, Loss: 0.2579\n",
      "Epoch 15, Loss: 0.0298\n",
      "Epoch 15, Loss: 0.6901\n",
      "Epoch 15, Loss: 0.0242\n",
      "Epoch 15, Loss: 0.5566\n",
      "Epoch 15, Loss: 0.0114\n",
      "Epoch 15, Loss: 0.0088\n",
      "Epoch 15, Loss: 0.0348\n",
      "Epoch 15, Loss: 0.0080\n",
      "Epoch 15, Loss: 0.0043\n",
      "Epoch 15, Loss: 0.2999\n",
      "Epoch 15, Loss: 0.1310\n",
      "Epoch 15, Loss: 0.0955\n",
      "Epoch 15, Loss: 0.2427\n",
      "Epoch 15, Loss: 0.4376\n",
      "Epoch 15, Loss: 0.1151\n",
      "Epoch 15, Loss: 0.1440\n",
      "Epoch 15, Loss: 0.0651\n",
      "Epoch 15, Loss: 0.0772\n",
      "Epoch 15, Loss: 0.3901\n",
      "Epoch 15, Loss: 0.8184\n",
      "Epoch 15, Loss: 0.1450\n",
      "Epoch 15, Loss: 0.0438\n",
      "Epoch 15, Loss: 0.0428\n",
      "Epoch 15, Loss: 0.0311\n",
      "Epoch 15, Loss: 0.1013\n",
      "Epoch 15, Loss: 0.0948\n",
      "Epoch 15, Loss: 0.2536\n",
      "Epoch 15, Loss: 0.0939\n",
      "Epoch 15, Loss: 0.0976\n",
      "Epoch 15, Loss: 0.5824\n",
      "Epoch 15, Loss: 0.0215\n",
      "Epoch 15, Loss: 0.1608\n",
      "Epoch 15, Loss: 0.1522\n",
      "Epoch 15, Loss: 0.1315\n",
      "Epoch 15, Loss: 0.1281\n",
      "Epoch 15, Loss: 0.2510\n",
      "Epoch 15, Loss: 0.0210\n",
      "Epoch 15, Loss: 0.0354\n",
      "Epoch 15, Loss: 0.4222\n",
      "Epoch 15, Loss: 0.2614\n",
      "Epoch 15, Loss: 0.5011\n",
      "Epoch 15, Loss: 0.0458\n",
      "Epoch 15, Loss: 0.0369\n",
      "Epoch 15, Loss: 0.0288\n",
      "Epoch 15, Loss: 0.0297\n",
      "Epoch 15, Loss: 0.6121\n",
      "Epoch 15, Loss: 0.0291\n",
      "Epoch 15, Loss: 0.0160\n",
      "Epoch 15, Loss: 0.0176\n",
      "Epoch 15, Loss: 0.6632\n",
      "Epoch 15, Loss: 0.8584\n",
      "Epoch 15, Loss: 0.6728\n",
      "Epoch 15, Loss: 0.4408\n",
      "Epoch 15, Loss: 0.1260\n",
      "Epoch 15, Loss: 0.3547\n",
      "Epoch 15, Loss: 0.8783\n",
      "Epoch 15, Loss: 0.2170\n",
      "Epoch 15, Loss: 0.1553\n",
      "Epoch 15, Loss: 0.9070\n",
      "Epoch 15, Loss: 0.0573\n",
      "Epoch 15, Loss: 0.0636\n",
      "Epoch 15, Loss: 0.8771\n",
      "Epoch 15, Loss: 0.0609\n",
      "Epoch 15, Loss: 0.0227\n",
      "Epoch 15, Loss: 0.6909\n",
      "Epoch 15, Loss: 0.0286\n",
      "Epoch 16, Loss: 0.8746\n",
      "Epoch 16, Loss: 0.0372\n",
      "Epoch 16, Loss: 0.0162\n",
      "Epoch 16, Loss: 0.0249\n",
      "Epoch 16, Loss: 0.0339\n",
      "Epoch 16, Loss: 0.5224\n",
      "Epoch 16, Loss: 0.1453\n",
      "Epoch 16, Loss: 0.4285\n",
      "Epoch 16, Loss: 0.0442\n",
      "Epoch 16, Loss: 0.0976\n",
      "Epoch 16, Loss: 0.5639\n",
      "Epoch 16, Loss: 0.0081\n",
      "Epoch 16, Loss: 0.3782\n",
      "Epoch 16, Loss: 0.1630\n",
      "Epoch 16, Loss: 0.1313\n",
      "Epoch 16, Loss: 0.2866\n",
      "Epoch 16, Loss: 0.2856\n",
      "Epoch 16, Loss: 0.1594\n",
      "Epoch 16, Loss: 0.4940\n",
      "Epoch 16, Loss: 0.2866\n",
      "Epoch 16, Loss: 0.0673\n",
      "Epoch 16, Loss: 0.1782\n",
      "Epoch 16, Loss: 1.0563\n",
      "Epoch 16, Loss: 0.0094\n",
      "Epoch 16, Loss: 0.0122\n",
      "Epoch 16, Loss: 0.0160\n",
      "Epoch 16, Loss: 0.0204\n",
      "Epoch 16, Loss: 0.0519\n",
      "Epoch 16, Loss: 0.0490\n",
      "Epoch 16, Loss: 0.4384\n",
      "Epoch 16, Loss: 0.0427\n",
      "Epoch 16, Loss: 0.0436\n",
      "Epoch 16, Loss: 0.7768\n",
      "Epoch 16, Loss: 0.0661\n",
      "Epoch 16, Loss: 0.3034\n",
      "Epoch 16, Loss: 0.2565\n",
      "Epoch 16, Loss: 1.1940\n",
      "Epoch 16, Loss: 0.1009\n",
      "Epoch 16, Loss: 0.0604\n",
      "Epoch 16, Loss: 0.0442\n",
      "Epoch 16, Loss: 0.1022\n",
      "Epoch 16, Loss: 0.0516\n",
      "Epoch 16, Loss: 0.0775\n",
      "Epoch 16, Loss: 1.0572\n",
      "Epoch 16, Loss: 0.0386\n",
      "Epoch 16, Loss: 0.0331\n",
      "Epoch 16, Loss: 0.0124\n",
      "Epoch 16, Loss: 0.0469\n",
      "Epoch 16, Loss: 0.2767\n",
      "Epoch 16, Loss: 0.4113\n",
      "Epoch 16, Loss: 0.0234\n",
      "Epoch 16, Loss: 0.1564\n",
      "Epoch 16, Loss: 0.0058\n",
      "Epoch 16, Loss: 0.5158\n",
      "Epoch 16, Loss: 0.6692\n",
      "Epoch 16, Loss: 0.1611\n",
      "Epoch 16, Loss: 0.0670\n",
      "Epoch 16, Loss: 0.1727\n",
      "Epoch 16, Loss: 0.2175\n",
      "Epoch 16, Loss: 0.0498\n",
      "Epoch 16, Loss: 0.0589\n",
      "Epoch 16, Loss: 0.7129\n",
      "Epoch 16, Loss: 0.1032\n",
      "Epoch 16, Loss: 0.0741\n",
      "Epoch 16, Loss: 0.0287\n",
      "Epoch 16, Loss: 0.1102\n",
      "Epoch 16, Loss: 0.0210\n",
      "Epoch 16, Loss: 0.7007\n",
      "Epoch 16, Loss: 0.0039\n",
      "Epoch 16, Loss: 0.0470\n",
      "Epoch 16, Loss: 0.0079\n",
      "Epoch 16, Loss: 0.0356\n",
      "Epoch 16, Loss: 0.3165\n",
      "Epoch 16, Loss: 1.1227\n",
      "Epoch 16, Loss: 0.5267\n",
      "Epoch 16, Loss: 0.1045\n",
      "Epoch 16, Loss: 0.4389\n",
      "Epoch 16, Loss: 0.0817\n",
      "Epoch 16, Loss: 0.3227\n",
      "Epoch 16, Loss: 0.0064\n",
      "Epoch 16, Loss: 0.9879\n",
      "Epoch 16, Loss: 0.0095\n",
      "Epoch 16, Loss: 0.0050\n",
      "Epoch 16, Loss: 0.0039\n",
      "Epoch 16, Loss: 0.0033\n",
      "Epoch 16, Loss: 0.0028\n",
      "Epoch 16, Loss: 0.2739\n",
      "Epoch 16, Loss: 0.2403\n",
      "Epoch 16, Loss: 0.1388\n",
      "Epoch 16, Loss: 0.0714\n",
      "Epoch 16, Loss: 0.2019\n",
      "Epoch 16, Loss: 0.0240\n",
      "Epoch 16, Loss: 0.0268\n",
      "Epoch 16, Loss: 0.0165\n",
      "Epoch 16, Loss: 0.0421\n",
      "Epoch 16, Loss: 0.3906\n",
      "Epoch 16, Loss: 0.8448\n",
      "Epoch 16, Loss: 0.0101\n",
      "Epoch 16, Loss: 0.0064\n",
      "Epoch 16, Loss: 0.0117\n",
      "Epoch 16, Loss: 0.0136\n",
      "Epoch 16, Loss: 0.0397\n",
      "Epoch 16, Loss: 0.1625\n",
      "Epoch 16, Loss: 0.2167\n",
      "Epoch 16, Loss: 0.0955\n",
      "Epoch 16, Loss: 0.0516\n",
      "Epoch 16, Loss: 1.0701\n",
      "Epoch 16, Loss: 0.0194\n",
      "Epoch 16, Loss: 1.0477\n",
      "Epoch 16, Loss: 0.8972\n",
      "Epoch 16, Loss: 0.5129\n",
      "Epoch 16, Loss: 0.7292\n",
      "Epoch 16, Loss: 0.4650\n",
      "Epoch 16, Loss: 0.0894\n",
      "Epoch 16, Loss: 0.0551\n",
      "Epoch 16, Loss: 0.7008\n",
      "Epoch 16, Loss: 0.4381\n",
      "Epoch 16, Loss: 0.6038\n",
      "Epoch 16, Loss: 0.0158\n",
      "Epoch 16, Loss: 0.0216\n",
      "Epoch 16, Loss: 0.0245\n",
      "Epoch 16, Loss: 0.0306\n",
      "Epoch 16, Loss: 0.4554\n",
      "Epoch 16, Loss: 0.0332\n",
      "Epoch 16, Loss: 0.0266\n",
      "Epoch 16, Loss: 0.2133\n",
      "Epoch 16, Loss: 1.2476\n",
      "Epoch 16, Loss: 0.1573\n",
      "Epoch 16, Loss: 0.2340\n",
      "Epoch 16, Loss: 0.0872\n",
      "Epoch 16, Loss: 0.1572\n",
      "Epoch 16, Loss: 0.1712\n",
      "Epoch 16, Loss: 0.8191\n",
      "Epoch 16, Loss: 0.0221\n",
      "Epoch 16, Loss: 0.0357\n",
      "Epoch 16, Loss: 0.5673\n",
      "Epoch 16, Loss: 0.0212\n",
      "Epoch 16, Loss: 0.0286\n",
      "Epoch 16, Loss: 0.1873\n",
      "Epoch 16, Loss: 0.0549\n",
      "Epoch 16, Loss: 0.0221\n",
      "Epoch 16, Loss: 0.6331\n",
      "Epoch 16, Loss: 0.0404\n",
      "Epoch 17, Loss: 0.7619\n",
      "Epoch 17, Loss: 0.1379\n",
      "Epoch 17, Loss: 0.0424\n",
      "Epoch 17, Loss: 0.0739\n",
      "Epoch 17, Loss: 0.0956\n",
      "Epoch 17, Loss: 0.6954\n",
      "Epoch 17, Loss: 0.1340\n",
      "Epoch 17, Loss: 0.6117\n",
      "Epoch 17, Loss: 0.0139\n",
      "Epoch 17, Loss: 0.0145\n",
      "Epoch 17, Loss: 0.5908\n",
      "Epoch 17, Loss: 0.0104\n",
      "Epoch 17, Loss: 1.0303\n",
      "Epoch 17, Loss: 1.0453\n",
      "Epoch 17, Loss: 0.6304\n",
      "Epoch 17, Loss: 0.4721\n",
      "Epoch 17, Loss: 0.1220\n",
      "Epoch 17, Loss: 0.0802\n",
      "Epoch 17, Loss: 0.8216\n",
      "Epoch 17, Loss: 0.7026\n",
      "Epoch 17, Loss: 0.0517\n",
      "Epoch 17, Loss: 0.1142\n",
      "Epoch 17, Loss: 0.8208\n",
      "Epoch 17, Loss: 0.0158\n",
      "Epoch 17, Loss: 0.0234\n",
      "Epoch 17, Loss: 0.0190\n",
      "Epoch 17, Loss: 0.1615\n",
      "Epoch 17, Loss: 0.2233\n",
      "Epoch 17, Loss: 0.0263\n",
      "Epoch 17, Loss: 0.4067\n",
      "Epoch 17, Loss: 0.0349\n",
      "Epoch 17, Loss: 0.0186\n",
      "Epoch 17, Loss: 0.9491\n",
      "Epoch 17, Loss: 0.1244\n",
      "Epoch 17, Loss: 0.7309\n",
      "Epoch 17, Loss: 0.8304\n",
      "Epoch 17, Loss: 1.0963\n",
      "Epoch 17, Loss: 0.6335\n",
      "Epoch 17, Loss: 0.0757\n",
      "Epoch 17, Loss: 0.0489\n",
      "Epoch 17, Loss: 0.1127\n",
      "Epoch 17, Loss: 0.0289\n",
      "Epoch 17, Loss: 0.1673\n",
      "Epoch 17, Loss: 0.8396\n",
      "Epoch 17, Loss: 0.0755\n",
      "Epoch 17, Loss: 0.0771\n",
      "Epoch 17, Loss: 0.0651\n",
      "Epoch 17, Loss: 0.0524\n",
      "Epoch 17, Loss: 0.8177\n",
      "Epoch 17, Loss: 0.2959\n",
      "Epoch 17, Loss: 0.0180\n",
      "Epoch 17, Loss: 0.0081\n",
      "Epoch 17, Loss: 0.0067\n",
      "Epoch 17, Loss: 0.8971\n",
      "Epoch 17, Loss: 0.7675\n",
      "Epoch 17, Loss: 0.3537\n",
      "Epoch 17, Loss: 0.3001\n",
      "Epoch 17, Loss: 0.1319\n",
      "Epoch 17, Loss: 0.0094\n",
      "Epoch 17, Loss: 0.0171\n",
      "Epoch 17, Loss: 0.0095\n",
      "Epoch 17, Loss: 0.7840\n",
      "Epoch 17, Loss: 0.0370\n",
      "Epoch 17, Loss: 0.0335\n",
      "Epoch 17, Loss: 0.2107\n",
      "Epoch 17, Loss: 0.0310\n",
      "Epoch 17, Loss: 0.0333\n",
      "Epoch 17, Loss: 0.4500\n",
      "Epoch 17, Loss: 0.0124\n",
      "Epoch 17, Loss: 0.2377\n",
      "Epoch 17, Loss: 0.1209\n",
      "Epoch 17, Loss: 0.0846\n",
      "Epoch 17, Loss: 0.0411\n",
      "Epoch 17, Loss: 1.5780\n",
      "Epoch 17, Loss: 1.0415\n",
      "Epoch 17, Loss: 0.6342\n",
      "Epoch 17, Loss: 0.3291\n",
      "Epoch 17, Loss: 0.1301\n",
      "Epoch 17, Loss: 0.5125\n",
      "Epoch 17, Loss: 0.0461\n",
      "Epoch 17, Loss: 0.6298\n",
      "Epoch 17, Loss: 0.0208\n",
      "Epoch 17, Loss: 0.0075\n",
      "Epoch 17, Loss: 0.0132\n",
      "Epoch 17, Loss: 0.0114\n",
      "Epoch 17, Loss: 0.0258\n",
      "Epoch 17, Loss: 0.5499\n",
      "Epoch 17, Loss: 0.5121\n",
      "Epoch 17, Loss: 0.3874\n",
      "Epoch 17, Loss: 0.3688\n",
      "Epoch 17, Loss: 0.6150\n",
      "Epoch 17, Loss: 0.0181\n",
      "Epoch 17, Loss: 0.0269\n",
      "Epoch 17, Loss: 0.0488\n",
      "Epoch 17, Loss: 0.0994\n",
      "Epoch 17, Loss: 0.1305\n",
      "Epoch 17, Loss: 0.9240\n",
      "Epoch 17, Loss: 0.1736\n",
      "Epoch 17, Loss: 0.1137\n",
      "Epoch 17, Loss: 0.1740\n",
      "Epoch 17, Loss: 0.7018\n",
      "Epoch 17, Loss: 0.3900\n",
      "Epoch 17, Loss: 0.0445\n",
      "Epoch 17, Loss: 0.0343\n",
      "Epoch 17, Loss: 0.0177\n",
      "Epoch 17, Loss: 0.0300\n",
      "Epoch 17, Loss: 0.6960\n",
      "Epoch 17, Loss: 0.0263\n",
      "Epoch 17, Loss: 1.0612\n",
      "Epoch 17, Loss: 0.9370\n",
      "Epoch 17, Loss: 0.3808\n",
      "Epoch 17, Loss: 0.7028\n",
      "Epoch 17, Loss: 0.3029\n",
      "Epoch 17, Loss: 0.1197\n",
      "Epoch 17, Loss: 0.0692\n",
      "Epoch 17, Loss: 0.6069\n",
      "Epoch 17, Loss: 0.1184\n",
      "Epoch 17, Loss: 0.6674\n",
      "Epoch 17, Loss: 0.0493\n",
      "Epoch 17, Loss: 0.2570\n",
      "Epoch 17, Loss: 0.0449\n",
      "Epoch 17, Loss: 0.2007\n",
      "Epoch 17, Loss: 0.6959\n",
      "Epoch 17, Loss: 0.1002\n",
      "Epoch 17, Loss: 0.0649\n",
      "Epoch 17, Loss: 0.0489\n",
      "Epoch 17, Loss: 0.4970\n",
      "Epoch 17, Loss: 0.1259\n",
      "Epoch 17, Loss: 0.1233\n",
      "Epoch 17, Loss: 2.1811\n",
      "Epoch 17, Loss: 1.2660\n",
      "Epoch 17, Loss: 0.4199\n",
      "Epoch 17, Loss: 0.2574\n",
      "Epoch 17, Loss: 0.0379\n",
      "Epoch 17, Loss: 0.0895\n",
      "Epoch 17, Loss: 0.6221\n",
      "Epoch 17, Loss: 0.0455\n",
      "Epoch 17, Loss: 0.0792\n",
      "Epoch 17, Loss: 0.1696\n",
      "Epoch 17, Loss: 0.1332\n",
      "Epoch 17, Loss: 0.0466\n",
      "Epoch 17, Loss: 0.6734\n",
      "Epoch 17, Loss: 0.0511\n",
      "Epoch 18, Loss: 0.8342\n",
      "Epoch 18, Loss: 0.1178\n",
      "Epoch 18, Loss: 0.0173\n",
      "Epoch 18, Loss: 0.0215\n",
      "Epoch 18, Loss: 0.0224\n",
      "Epoch 18, Loss: 0.6124\n",
      "Epoch 18, Loss: 0.0208\n",
      "Epoch 18, Loss: 0.6516\n",
      "Epoch 18, Loss: 0.0245\n",
      "Epoch 18, Loss: 0.0354\n",
      "Epoch 18, Loss: 0.6247\n",
      "Epoch 18, Loss: 0.1129\n",
      "Epoch 18, Loss: 0.5415\n",
      "Epoch 18, Loss: 0.3784\n",
      "Epoch 18, Loss: 1.0832\n",
      "Epoch 18, Loss: 0.7294\n",
      "Epoch 18, Loss: 0.3669\n",
      "Epoch 18, Loss: 0.2833\n",
      "Epoch 18, Loss: 0.9463\n",
      "Epoch 18, Loss: 0.0637\n",
      "Epoch 18, Loss: 0.0367\n",
      "Epoch 18, Loss: 0.0329\n",
      "Epoch 18, Loss: 0.7419\n",
      "Epoch 18, Loss: 1.0835\n",
      "Epoch 18, Loss: 1.1050\n",
      "Epoch 18, Loss: 0.2895\n",
      "Epoch 18, Loss: 0.2722\n",
      "Epoch 18, Loss: 0.6836\n",
      "Epoch 18, Loss: 0.0969\n",
      "Epoch 18, Loss: 0.4266\n",
      "Epoch 18, Loss: 0.1716\n",
      "Epoch 18, Loss: 0.2152\n",
      "Epoch 18, Loss: 0.6166\n",
      "Epoch 18, Loss: 0.0928\n",
      "Epoch 18, Loss: 0.1949\n",
      "Epoch 18, Loss: 0.8015\n",
      "Epoch 18, Loss: 0.9099\n",
      "Epoch 18, Loss: 0.6509\n",
      "Epoch 18, Loss: 0.1412\n",
      "Epoch 18, Loss: 0.1806\n",
      "Epoch 18, Loss: 0.0851\n",
      "Epoch 18, Loss: 0.0207\n",
      "Epoch 18, Loss: 0.0061\n",
      "Epoch 18, Loss: 0.4370\n",
      "Epoch 18, Loss: 0.0222\n",
      "Epoch 18, Loss: 0.0212\n",
      "Epoch 18, Loss: 0.0948\n",
      "Epoch 18, Loss: 0.0655\n",
      "Epoch 18, Loss: 0.6673\n",
      "Epoch 18, Loss: 0.3450\n",
      "Epoch 18, Loss: 0.3458\n",
      "Epoch 18, Loss: 0.2317\n",
      "Epoch 18, Loss: 0.0072\n",
      "Epoch 18, Loss: 0.0865\n",
      "Epoch 18, Loss: 0.1741\n",
      "Epoch 18, Loss: 0.0254\n",
      "Epoch 18, Loss: 0.3148\n",
      "Epoch 18, Loss: 0.0846\n",
      "Epoch 18, Loss: 0.0483\n",
      "Epoch 18, Loss: 0.0351\n",
      "Epoch 18, Loss: 0.0655\n",
      "Epoch 18, Loss: 0.7809\n",
      "Epoch 18, Loss: 0.0171\n",
      "Epoch 18, Loss: 0.0694\n",
      "Epoch 18, Loss: 0.0661\n",
      "Epoch 18, Loss: 0.0463\n",
      "Epoch 18, Loss: 0.0527\n",
      "Epoch 18, Loss: 0.6134\n",
      "Epoch 18, Loss: 0.0134\n",
      "Epoch 18, Loss: 0.0103\n",
      "Epoch 18, Loss: 0.2197\n",
      "Epoch 18, Loss: 0.0296\n",
      "Epoch 18, Loss: 0.0816\n",
      "Epoch 18, Loss: 0.7941\n",
      "Epoch 18, Loss: 0.2764\n",
      "Epoch 18, Loss: 0.4046\n",
      "Epoch 18, Loss: 0.3986\n",
      "Epoch 18, Loss: 0.3521\n",
      "Epoch 18, Loss: 0.3137\n",
      "Epoch 18, Loss: 0.0184\n",
      "Epoch 18, Loss: 0.3746\n",
      "Epoch 18, Loss: 0.0077\n",
      "Epoch 18, Loss: 0.0104\n",
      "Epoch 18, Loss: 0.0139\n",
      "Epoch 18, Loss: 0.0052\n",
      "Epoch 18, Loss: 0.0060\n",
      "Epoch 18, Loss: 0.9177\n",
      "Epoch 18, Loss: 0.8317\n",
      "Epoch 18, Loss: 0.9805\n",
      "Epoch 18, Loss: 0.7681\n",
      "Epoch 18, Loss: 0.3848\n",
      "Epoch 18, Loss: 0.0810\n",
      "Epoch 18, Loss: 0.1008\n",
      "Epoch 18, Loss: 0.0268\n",
      "Epoch 18, Loss: 0.0395\n",
      "Epoch 18, Loss: 0.3903\n",
      "Epoch 18, Loss: 0.9833\n",
      "Epoch 18, Loss: 0.9888\n",
      "Epoch 18, Loss: 0.4003\n",
      "Epoch 18, Loss: 0.3412\n",
      "Epoch 18, Loss: 0.0705\n",
      "Epoch 18, Loss: 0.2774\n",
      "Epoch 18, Loss: 0.0361\n",
      "Epoch 18, Loss: 0.0641\n",
      "Epoch 18, Loss: 0.1347\n",
      "Epoch 18, Loss: 0.1425\n",
      "Epoch 18, Loss: 0.4905\n",
      "Epoch 18, Loss: 0.1224\n",
      "Epoch 18, Loss: 0.1645\n",
      "Epoch 18, Loss: 0.4840\n",
      "Epoch 18, Loss: 0.1643\n",
      "Epoch 18, Loss: 0.7258\n",
      "Epoch 18, Loss: 0.4733\n",
      "Epoch 18, Loss: 0.2519\n",
      "Epoch 18, Loss: 0.0593\n",
      "Epoch 18, Loss: 0.3091\n",
      "Epoch 18, Loss: 0.0619\n",
      "Epoch 18, Loss: 1.0461\n",
      "Epoch 18, Loss: 0.1108\n",
      "Epoch 18, Loss: 0.0987\n",
      "Epoch 18, Loss: 0.0605\n",
      "Epoch 18, Loss: 0.0252\n",
      "Epoch 18, Loss: 0.6785\n",
      "Epoch 18, Loss: 0.6945\n",
      "Epoch 18, Loss: 0.0267\n",
      "Epoch 18, Loss: 0.0320\n",
      "Epoch 18, Loss: 0.6748\n",
      "Epoch 18, Loss: 1.9011\n",
      "Epoch 18, Loss: 1.0562\n",
      "Epoch 18, Loss: 1.4170\n",
      "Epoch 18, Loss: 1.6963\n",
      "Epoch 18, Loss: 0.5536\n",
      "Epoch 18, Loss: 0.0985\n",
      "Epoch 18, Loss: 0.0201\n",
      "Epoch 18, Loss: 0.1496\n",
      "Epoch 18, Loss: 0.5721\n",
      "Epoch 18, Loss: 0.0260\n",
      "Epoch 18, Loss: 0.1419\n",
      "Epoch 18, Loss: 0.5603\n",
      "Epoch 18, Loss: 0.0506\n",
      "Epoch 18, Loss: 0.0223\n",
      "Epoch 18, Loss: 0.5530\n",
      "Epoch 18, Loss: 0.0623\n",
      "Epoch 19, Loss: 1.6311\n",
      "Epoch 19, Loss: 0.0382\n",
      "Epoch 19, Loss: 0.0816\n",
      "Epoch 19, Loss: 0.0259\n",
      "Epoch 19, Loss: 0.2493\n",
      "Epoch 19, Loss: 0.7939\n",
      "Epoch 19, Loss: 0.0985\n",
      "Epoch 19, Loss: 0.1976\n",
      "Epoch 19, Loss: 0.0147\n",
      "Epoch 19, Loss: 0.0379\n",
      "Epoch 19, Loss: 0.6281\n",
      "Epoch 19, Loss: 0.0051\n",
      "Epoch 19, Loss: 0.3959\n",
      "Epoch 19, Loss: 0.2755\n",
      "Epoch 19, Loss: 0.3732\n",
      "Epoch 19, Loss: 0.4078\n",
      "Epoch 19, Loss: 0.1794\n",
      "Epoch 19, Loss: 0.1476\n",
      "Epoch 19, Loss: 1.5947\n",
      "Epoch 19, Loss: 0.0854\n",
      "Epoch 19, Loss: 0.1282\n",
      "Epoch 19, Loss: 0.1257\n",
      "Epoch 19, Loss: 0.5998\n",
      "Epoch 19, Loss: 0.0105\n",
      "Epoch 19, Loss: 0.0083\n",
      "Epoch 19, Loss: 0.0633\n",
      "Epoch 19, Loss: 0.6162\n",
      "Epoch 19, Loss: 0.6566\n",
      "Epoch 19, Loss: 0.1629\n",
      "Epoch 19, Loss: 0.7278\n",
      "Epoch 19, Loss: 0.0681\n",
      "Epoch 19, Loss: 0.0498\n",
      "Epoch 19, Loss: 0.6632\n",
      "Epoch 19, Loss: 0.2900\n",
      "Epoch 19, Loss: 0.4234\n",
      "Epoch 19, Loss: 0.2902\n",
      "Epoch 19, Loss: 0.4945\n",
      "Epoch 19, Loss: 0.2827\n",
      "Epoch 19, Loss: 0.4328\n",
      "Epoch 19, Loss: 0.0382\n",
      "Epoch 19, Loss: 0.2069\n",
      "Epoch 19, Loss: 0.1403\n",
      "Epoch 19, Loss: 0.1242\n",
      "Epoch 19, Loss: 0.8289\n",
      "Epoch 19, Loss: 0.0152\n",
      "Epoch 19, Loss: 0.0308\n",
      "Epoch 19, Loss: 1.1688\n",
      "Epoch 19, Loss: 0.2995\n",
      "Epoch 19, Loss: 0.5453\n",
      "Epoch 19, Loss: 0.1049\n",
      "Epoch 19, Loss: 0.0367\n",
      "Epoch 19, Loss: 0.0290\n",
      "Epoch 19, Loss: 0.0134\n",
      "Epoch 19, Loss: 0.2107\n",
      "Epoch 19, Loss: 0.2088\n",
      "Epoch 19, Loss: 0.0454\n",
      "Epoch 19, Loss: 0.0487\n",
      "Epoch 19, Loss: 0.4519\n",
      "Epoch 19, Loss: 0.0516\n",
      "Epoch 19, Loss: 0.0688\n",
      "Epoch 19, Loss: 0.0100\n",
      "Epoch 19, Loss: 0.6687\n",
      "Epoch 19, Loss: 0.0819\n",
      "Epoch 19, Loss: 0.0553\n",
      "Epoch 19, Loss: 0.0362\n",
      "Epoch 19, Loss: 0.0238\n",
      "Epoch 19, Loss: 0.1012\n",
      "Epoch 19, Loss: 0.3885\n",
      "Epoch 19, Loss: 0.0036\n",
      "Epoch 19, Loss: 0.0922\n",
      "Epoch 19, Loss: 0.0733\n",
      "Epoch 19, Loss: 0.1513\n",
      "Epoch 19, Loss: 0.1044\n",
      "Epoch 19, Loss: 2.2847\n",
      "Epoch 19, Loss: 0.2195\n",
      "Epoch 19, Loss: 0.0779\n",
      "Epoch 19, Loss: 0.9207\n",
      "Epoch 19, Loss: 0.5055\n",
      "Epoch 19, Loss: 0.0576\n",
      "Epoch 19, Loss: 0.0201\n",
      "Epoch 19, Loss: 0.7601\n",
      "Epoch 19, Loss: 0.0327\n",
      "Epoch 19, Loss: 0.0159\n",
      "Epoch 19, Loss: 0.0615\n",
      "Epoch 19, Loss: 0.1121\n",
      "Epoch 19, Loss: 0.0345\n",
      "Epoch 19, Loss: 0.7025\n",
      "Epoch 19, Loss: 0.1664\n",
      "Epoch 19, Loss: 0.3969\n",
      "Epoch 19, Loss: 0.0353\n",
      "Epoch 19, Loss: 0.4754\n",
      "Epoch 19, Loss: 0.0955\n",
      "Epoch 19, Loss: 0.1338\n",
      "Epoch 19, Loss: 0.0763\n",
      "Epoch 19, Loss: 0.0600\n",
      "Epoch 19, Loss: 0.5878\n",
      "Epoch 19, Loss: 0.6937\n",
      "Epoch 19, Loss: 0.1688\n",
      "Epoch 19, Loss: 0.0792\n",
      "Epoch 19, Loss: 0.0664\n",
      "Epoch 19, Loss: 0.0693\n",
      "Epoch 19, Loss: 0.0534\n",
      "Epoch 19, Loss: 0.1042\n",
      "Epoch 19, Loss: 0.3609\n",
      "Epoch 19, Loss: 0.0746\n",
      "Epoch 19, Loss: 0.2574\n",
      "Epoch 19, Loss: 0.9638\n",
      "Epoch 19, Loss: 0.0324\n",
      "Epoch 19, Loss: 0.3600\n",
      "Epoch 19, Loss: 0.2565\n",
      "Epoch 19, Loss: 0.1486\n",
      "Epoch 19, Loss: 0.0802\n",
      "Epoch 19, Loss: 0.0521\n",
      "Epoch 19, Loss: 0.0682\n",
      "Epoch 19, Loss: 0.0704\n",
      "Epoch 19, Loss: 0.2899\n",
      "Epoch 19, Loss: 0.0665\n",
      "Epoch 19, Loss: 0.6595\n",
      "Epoch 19, Loss: 0.0440\n",
      "Epoch 19, Loss: 0.0474\n",
      "Epoch 19, Loss: 0.0283\n",
      "Epoch 19, Loss: 0.0147\n",
      "Epoch 19, Loss: 0.7316\n",
      "Epoch 19, Loss: 0.0318\n",
      "Epoch 19, Loss: 0.0748\n",
      "Epoch 19, Loss: 0.0994\n",
      "Epoch 19, Loss: 0.8685\n",
      "Epoch 19, Loss: 0.5296\n",
      "Epoch 19, Loss: 0.4046\n",
      "Epoch 19, Loss: 0.1763\n",
      "Epoch 19, Loss: 0.1879\n",
      "Epoch 19, Loss: 0.3717\n",
      "Epoch 19, Loss: 0.3119\n",
      "Epoch 19, Loss: 0.0398\n",
      "Epoch 19, Loss: 0.6143\n",
      "Epoch 19, Loss: 0.6997\n",
      "Epoch 19, Loss: 0.0626\n",
      "Epoch 19, Loss: 0.1070\n",
      "Epoch 19, Loss: 0.2615\n",
      "Epoch 19, Loss: 0.0368\n",
      "Epoch 19, Loss: 0.0183\n",
      "Epoch 19, Loss: 0.7091\n",
      "Epoch 19, Loss: 0.0281\n",
      "Epoch 20, Loss: 1.0450\n",
      "Epoch 20, Loss: 0.0971\n",
      "Epoch 20, Loss: 0.0428\n",
      "Epoch 20, Loss: 0.0813\n",
      "Epoch 20, Loss: 0.1471\n",
      "Epoch 20, Loss: 0.7944\n",
      "Epoch 20, Loss: 0.1210\n",
      "Epoch 20, Loss: 0.3025\n",
      "Epoch 20, Loss: 0.0278\n",
      "Epoch 20, Loss: 0.0176\n",
      "Epoch 20, Loss: 0.6920\n",
      "Epoch 20, Loss: 0.0163\n",
      "Epoch 20, Loss: 0.3172\n",
      "Epoch 20, Loss: 0.2948\n",
      "Epoch 20, Loss: 0.2881\n",
      "Epoch 20, Loss: 0.1849\n",
      "Epoch 20, Loss: 0.2218\n",
      "Epoch 20, Loss: 0.0059\n",
      "Epoch 20, Loss: 0.9946\n",
      "Epoch 20, Loss: 0.0196\n",
      "Epoch 20, Loss: 0.0115\n",
      "Epoch 20, Loss: 0.0117\n",
      "Epoch 20, Loss: 0.9683\n",
      "Epoch 20, Loss: 0.0121\n",
      "Epoch 20, Loss: 0.0033\n",
      "Epoch 20, Loss: 0.0182\n",
      "Epoch 20, Loss: 0.0059\n",
      "Epoch 20, Loss: 0.1064\n",
      "Epoch 20, Loss: 0.0450\n",
      "Epoch 20, Loss: 0.6193\n",
      "Epoch 20, Loss: 0.0781\n",
      "Epoch 20, Loss: 0.0385\n",
      "Epoch 20, Loss: 2.3891\n",
      "Epoch 20, Loss: 0.1157\n",
      "Epoch 20, Loss: 0.6370\n",
      "Epoch 20, Loss: 0.7834\n",
      "Epoch 20, Loss: 2.7060\n",
      "Epoch 20, Loss: 0.5079\n",
      "Epoch 20, Loss: 0.1151\n",
      "Epoch 20, Loss: 0.1512\n",
      "Epoch 20, Loss: 0.2706\n",
      "Epoch 20, Loss: 0.0511\n",
      "Epoch 20, Loss: 0.0449\n",
      "Epoch 20, Loss: 0.5620\n",
      "Epoch 20, Loss: 0.0063\n",
      "Epoch 20, Loss: 0.0183\n",
      "Epoch 20, Loss: 0.0225\n",
      "Epoch 20, Loss: 0.0703\n",
      "Epoch 20, Loss: 0.8056\n",
      "Epoch 20, Loss: 0.0321\n",
      "Epoch 20, Loss: 0.0175\n",
      "Epoch 20, Loss: 0.0035\n",
      "Epoch 20, Loss: 0.0588\n",
      "Epoch 20, Loss: 0.1545\n",
      "Epoch 20, Loss: 0.1958\n",
      "Epoch 20, Loss: 0.0768\n",
      "Epoch 20, Loss: 0.1739\n",
      "Epoch 20, Loss: 0.2281\n",
      "Epoch 20, Loss: 0.0839\n",
      "Epoch 20, Loss: 0.0221\n",
      "Epoch 20, Loss: 0.0194\n",
      "Epoch 20, Loss: 0.4544\n",
      "Epoch 20, Loss: 0.0240\n",
      "Epoch 20, Loss: 0.0296\n",
      "Epoch 20, Loss: 0.0271\n",
      "Epoch 20, Loss: 0.0676\n",
      "Epoch 20, Loss: 0.0373\n",
      "Epoch 20, Loss: 0.5583\n",
      "Epoch 20, Loss: 0.0938\n",
      "Epoch 20, Loss: 0.0937\n",
      "Epoch 20, Loss: 0.0230\n",
      "Epoch 20, Loss: 0.0378\n",
      "Epoch 20, Loss: 0.0325\n",
      "Epoch 20, Loss: 0.8549\n",
      "Epoch 20, Loss: 0.0881\n",
      "Epoch 20, Loss: 0.1541\n",
      "Epoch 20, Loss: 0.1367\n",
      "Epoch 20, Loss: 0.6004\n",
      "Epoch 20, Loss: 0.1098\n",
      "Epoch 20, Loss: 0.0376\n",
      "Epoch 20, Loss: 0.5494\n",
      "Epoch 20, Loss: 0.0261\n",
      "Epoch 20, Loss: 0.0336\n",
      "Epoch 20, Loss: 0.0218\n",
      "Epoch 20, Loss: 0.0164\n",
      "Epoch 20, Loss: 0.0145\n",
      "Epoch 20, Loss: 0.6216\n",
      "Epoch 20, Loss: 1.1627\n",
      "Epoch 20, Loss: 0.4789\n",
      "Epoch 20, Loss: 0.0648\n",
      "Epoch 20, Loss: 0.0489\n",
      "Epoch 20, Loss: 0.1710\n",
      "Epoch 20, Loss: 0.1095\n",
      "Epoch 20, Loss: 0.2136\n",
      "Epoch 20, Loss: 0.1437\n",
      "Epoch 20, Loss: 0.9219\n",
      "Epoch 20, Loss: 0.7466\n",
      "Epoch 20, Loss: 0.0096\n",
      "Epoch 20, Loss: 0.0185\n",
      "Epoch 20, Loss: 0.0426\n",
      "Epoch 20, Loss: 0.0279\n",
      "Epoch 20, Loss: 0.4617\n",
      "Epoch 20, Loss: 0.3495\n",
      "Epoch 20, Loss: 0.0242\n",
      "Epoch 20, Loss: 0.0058\n",
      "Epoch 20, Loss: 0.0051\n",
      "Epoch 20, Loss: 0.8629\n",
      "Epoch 20, Loss: 0.0045\n",
      "Epoch 20, Loss: 0.6713\n",
      "Epoch 20, Loss: 0.3950\n",
      "Epoch 20, Loss: 0.1290\n",
      "Epoch 20, Loss: 0.4181\n",
      "Epoch 20, Loss: 0.1410\n",
      "Epoch 20, Loss: 0.0873\n",
      "Epoch 20, Loss: 0.1904\n",
      "Epoch 20, Loss: 0.7575\n",
      "Epoch 20, Loss: 0.0251\n",
      "Epoch 20, Loss: 0.5899\n",
      "Epoch 20, Loss: 0.1269\n",
      "Epoch 20, Loss: 0.0422\n",
      "Epoch 20, Loss: 0.0531\n",
      "Epoch 20, Loss: 0.0673\n",
      "Epoch 20, Loss: 0.7617\n",
      "Epoch 20, Loss: 0.0748\n",
      "Epoch 20, Loss: 0.0501\n",
      "Epoch 20, Loss: 0.1413\n",
      "Epoch 20, Loss: 1.5450\n",
      "Epoch 20, Loss: 1.0549\n",
      "Epoch 20, Loss: 0.5825\n",
      "Epoch 20, Loss: 0.4066\n",
      "Epoch 20, Loss: 0.5979\n",
      "Epoch 20, Loss: 0.5421\n",
      "Epoch 20, Loss: 0.1589\n",
      "Epoch 20, Loss: 0.0241\n",
      "Epoch 20, Loss: 0.0180\n",
      "Epoch 20, Loss: 1.2566\n",
      "Epoch 20, Loss: 0.0526\n",
      "Epoch 20, Loss: 0.2849\n",
      "Epoch 20, Loss: 0.3258\n",
      "Epoch 20, Loss: 0.1775\n",
      "Epoch 20, Loss: 0.0152\n",
      "Epoch 20, Loss: 0.9971\n",
      "Epoch 20, Loss: 0.0115\n",
      "Epoch 21, Loss: 1.1690\n",
      "Epoch 21, Loss: 0.0872\n",
      "Epoch 21, Loss: 0.0226\n",
      "Epoch 21, Loss: 0.0327\n",
      "Epoch 21, Loss: 0.0329\n",
      "Epoch 21, Loss: 0.6261\n",
      "Epoch 21, Loss: 0.1251\n",
      "Epoch 21, Loss: 0.7114\n",
      "Epoch 21, Loss: 0.0192\n",
      "Epoch 21, Loss: 0.0304\n",
      "Epoch 21, Loss: 0.6980\n",
      "Epoch 21, Loss: 0.0077\n",
      "Epoch 21, Loss: 0.2295\n",
      "Epoch 21, Loss: 0.2958\n",
      "Epoch 21, Loss: 0.1190\n",
      "Epoch 21, Loss: 0.2548\n",
      "Epoch 21, Loss: 0.3685\n",
      "Epoch 21, Loss: 0.0270\n",
      "Epoch 21, Loss: 1.0403\n",
      "Epoch 21, Loss: 0.0470\n",
      "Epoch 21, Loss: 0.0143\n",
      "Epoch 21, Loss: 0.0150\n",
      "Epoch 21, Loss: 0.9732\n",
      "Epoch 21, Loss: 0.0090\n",
      "Epoch 21, Loss: 0.0809\n",
      "Epoch 21, Loss: 0.1353\n",
      "Epoch 21, Loss: 0.0606\n",
      "Epoch 21, Loss: 0.1004\n",
      "Epoch 21, Loss: 0.0536\n",
      "Epoch 21, Loss: 0.7820\n",
      "Epoch 21, Loss: 0.0455\n",
      "Epoch 21, Loss: 0.3670\n",
      "Epoch 21, Loss: 1.2237\n",
      "Epoch 21, Loss: 0.1593\n",
      "Epoch 21, Loss: 0.2549\n",
      "Epoch 21, Loss: 0.2364\n",
      "Epoch 21, Loss: 2.6731\n",
      "Epoch 21, Loss: 0.2555\n",
      "Epoch 21, Loss: 0.2312\n",
      "Epoch 21, Loss: 0.0656\n",
      "Epoch 21, Loss: 0.2201\n",
      "Epoch 21, Loss: 0.0734\n",
      "Epoch 21, Loss: 0.0088\n",
      "Epoch 21, Loss: 0.4192\n",
      "Epoch 21, Loss: 0.0369\n",
      "Epoch 21, Loss: 0.0425\n",
      "Epoch 21, Loss: 0.1262\n",
      "Epoch 21, Loss: 0.0813\n",
      "Epoch 21, Loss: 1.2077\n",
      "Epoch 21, Loss: 0.1821\n",
      "Epoch 21, Loss: 0.0092\n",
      "Epoch 21, Loss: 0.7540\n",
      "Epoch 21, Loss: 0.5316\n",
      "Epoch 21, Loss: 0.6551\n",
      "Epoch 21, Loss: 0.2439\n",
      "Epoch 21, Loss: 0.2696\n",
      "Epoch 21, Loss: 0.3599\n",
      "Epoch 21, Loss: 0.2198\n",
      "Epoch 21, Loss: 0.0102\n",
      "Epoch 21, Loss: 0.0684\n",
      "Epoch 21, Loss: 0.0065\n",
      "Epoch 21, Loss: 0.4893\n",
      "Epoch 21, Loss: 0.0041\n",
      "Epoch 21, Loss: 0.0174\n",
      "Epoch 21, Loss: 0.0068\n",
      "Epoch 21, Loss: 0.0311\n",
      "Epoch 21, Loss: 0.0240\n",
      "Epoch 21, Loss: 0.7241\n",
      "Epoch 21, Loss: 0.1258\n",
      "Epoch 21, Loss: 0.2416\n",
      "Epoch 21, Loss: 0.0750\n",
      "Epoch 21, Loss: 0.1206\n",
      "Epoch 21, Loss: 0.1133\n",
      "Epoch 21, Loss: 0.9884\n",
      "Epoch 21, Loss: 0.0276\n",
      "Epoch 21, Loss: 0.0279\n",
      "Epoch 21, Loss: 0.4243\n",
      "Epoch 21, Loss: 0.0452\n",
      "Epoch 21, Loss: 0.2900\n",
      "Epoch 21, Loss: 0.0304\n",
      "Epoch 21, Loss: 0.5128\n",
      "Epoch 21, Loss: 0.0419\n",
      "Epoch 21, Loss: 0.0517\n",
      "Epoch 21, Loss: 0.0383\n",
      "Epoch 21, Loss: 0.0359\n",
      "Epoch 21, Loss: 0.0266\n",
      "Epoch 21, Loss: 0.1917\n",
      "Epoch 21, Loss: 0.3101\n",
      "Epoch 21, Loss: 0.2149\n",
      "Epoch 21, Loss: 0.0761\n",
      "Epoch 21, Loss: 0.1970\n",
      "Epoch 21, Loss: 0.0478\n",
      "Epoch 21, Loss: 0.0755\n",
      "Epoch 21, Loss: 0.0877\n",
      "Epoch 21, Loss: 0.0199\n",
      "Epoch 21, Loss: 0.1747\n",
      "Epoch 21, Loss: 0.7746\n",
      "Epoch 21, Loss: 0.0278\n",
      "Epoch 21, Loss: 0.0168\n",
      "Epoch 21, Loss: 0.0085\n",
      "Epoch 21, Loss: 0.0276\n",
      "Epoch 21, Loss: 0.0251\n",
      "Epoch 21, Loss: 0.3979\n",
      "Epoch 21, Loss: 0.0242\n",
      "Epoch 21, Loss: 0.0116\n",
      "Epoch 21, Loss: 0.0208\n",
      "Epoch 21, Loss: 1.0487\n",
      "Epoch 21, Loss: 0.0081\n",
      "Epoch 21, Loss: 0.5869\n",
      "Epoch 21, Loss: 0.4289\n",
      "Epoch 21, Loss: 0.3302\n",
      "Epoch 21, Loss: 0.5864\n",
      "Epoch 21, Loss: 0.4184\n",
      "Epoch 21, Loss: 0.2942\n",
      "Epoch 21, Loss: 0.0240\n",
      "Epoch 21, Loss: 0.6545\n",
      "Epoch 21, Loss: 0.2546\n",
      "Epoch 21, Loss: 0.9678\n",
      "Epoch 21, Loss: 0.0289\n",
      "Epoch 21, Loss: 0.0358\n",
      "Epoch 21, Loss: 0.0858\n",
      "Epoch 21, Loss: 0.0452\n",
      "Epoch 21, Loss: 0.7631\n",
      "Epoch 21, Loss: 0.0409\n",
      "Epoch 21, Loss: 0.0388\n",
      "Epoch 21, Loss: 0.0504\n",
      "Epoch 21, Loss: 0.9646\n",
      "Epoch 21, Loss: 1.0641\n",
      "Epoch 21, Loss: 0.1741\n",
      "Epoch 21, Loss: 0.3349\n",
      "Epoch 21, Loss: 0.5296\n",
      "Epoch 21, Loss: 0.5097\n",
      "Epoch 21, Loss: 0.2589\n",
      "Epoch 21, Loss: 0.3491\n",
      "Epoch 21, Loss: 0.0178\n",
      "Epoch 21, Loss: 0.8250\n",
      "Epoch 21, Loss: 0.0480\n",
      "Epoch 21, Loss: 0.0593\n",
      "Epoch 21, Loss: 0.1759\n",
      "Epoch 21, Loss: 0.2040\n",
      "Epoch 21, Loss: 0.0346\n",
      "Epoch 21, Loss: 0.6926\n",
      "Epoch 21, Loss: 0.0376\n",
      "Epoch 22, Loss: 0.4172\n",
      "Epoch 22, Loss: 0.0749\n",
      "Epoch 22, Loss: 0.0774\n",
      "Epoch 22, Loss: 0.0432\n",
      "Epoch 22, Loss: 0.0725\n",
      "Epoch 22, Loss: 0.7138\n",
      "Epoch 22, Loss: 0.2879\n",
      "Epoch 22, Loss: 0.8472\n",
      "Epoch 22, Loss: 0.0097\n",
      "Epoch 22, Loss: 0.0294\n",
      "Epoch 22, Loss: 0.5365\n",
      "Epoch 22, Loss: 0.0362\n",
      "Epoch 22, Loss: 0.2831\n",
      "Epoch 22, Loss: 0.2552\n",
      "Epoch 22, Loss: 0.1901\n",
      "Epoch 22, Loss: 0.7660\n",
      "Epoch 22, Loss: 0.6555\n",
      "Epoch 22, Loss: 0.0355\n",
      "Epoch 22, Loss: 0.5942\n",
      "Epoch 22, Loss: 1.3425\n",
      "Epoch 22, Loss: 0.0101\n",
      "Epoch 22, Loss: 0.0594\n",
      "Epoch 22, Loss: 0.9757\n",
      "Epoch 22, Loss: 0.0058\n",
      "Epoch 22, Loss: 0.0554\n",
      "Epoch 22, Loss: 0.1785\n",
      "Epoch 22, Loss: 0.0304\n",
      "Epoch 22, Loss: 0.0387\n",
      "Epoch 22, Loss: 0.0253\n",
      "Epoch 22, Loss: 0.7701\n",
      "Epoch 22, Loss: 0.0858\n",
      "Epoch 22, Loss: 0.0359\n",
      "Epoch 22, Loss: 1.0597\n",
      "Epoch 22, Loss: 0.9959\n",
      "Epoch 22, Loss: 0.1824\n",
      "Epoch 22, Loss: 0.3116\n",
      "Epoch 22, Loss: 1.0305\n",
      "Epoch 22, Loss: 0.5635\n",
      "Epoch 22, Loss: 0.5089\n",
      "Epoch 22, Loss: 0.0310\n",
      "Epoch 22, Loss: 0.2926\n",
      "Epoch 22, Loss: 0.0098\n",
      "Epoch 22, Loss: 0.0500\n",
      "Epoch 22, Loss: 0.5775\n",
      "Epoch 22, Loss: 0.0235\n",
      "Epoch 22, Loss: 0.1595\n",
      "Epoch 22, Loss: 0.1736\n",
      "Epoch 22, Loss: 0.0888\n",
      "Epoch 22, Loss: 1.2559\n",
      "Epoch 22, Loss: 0.4527\n",
      "Epoch 22, Loss: 0.0040\n",
      "Epoch 22, Loss: 0.0056\n",
      "Epoch 22, Loss: 0.0095\n",
      "Epoch 22, Loss: 0.2504\n",
      "Epoch 22, Loss: 0.3425\n",
      "Epoch 22, Loss: 0.0709\n",
      "Epoch 22, Loss: 0.0860\n",
      "Epoch 22, Loss: 0.7564\n",
      "Epoch 22, Loss: 0.1045\n",
      "Epoch 22, Loss: 0.0703\n",
      "Epoch 22, Loss: 0.0228\n",
      "Epoch 22, Loss: 0.4998\n",
      "Epoch 22, Loss: 0.0318\n",
      "Epoch 22, Loss: 0.0389\n",
      "Epoch 22, Loss: 0.0677\n",
      "Epoch 22, Loss: 0.1373\n",
      "Epoch 22, Loss: 0.0297\n",
      "Epoch 22, Loss: 0.7836\n",
      "Epoch 22, Loss: 0.1013\n",
      "Epoch 22, Loss: 0.0510\n",
      "Epoch 22, Loss: 0.5912\n",
      "Epoch 22, Loss: 0.0194\n",
      "Epoch 22, Loss: 0.0225\n",
      "Epoch 22, Loss: 0.6285\n",
      "Epoch 22, Loss: 0.4144\n",
      "Epoch 22, Loss: 0.5223\n",
      "Epoch 22, Loss: 1.2014\n",
      "Epoch 22, Loss: 0.1735\n",
      "Epoch 22, Loss: 0.2886\n",
      "Epoch 22, Loss: 0.0402\n",
      "Epoch 22, Loss: 0.7642\n",
      "Epoch 22, Loss: 0.0658\n",
      "Epoch 22, Loss: 0.0142\n",
      "Epoch 22, Loss: 0.0240\n",
      "Epoch 22, Loss: 0.0121\n",
      "Epoch 22, Loss: 0.0019\n",
      "Epoch 22, Loss: 0.2188\n",
      "Epoch 22, Loss: 0.1266\n",
      "Epoch 22, Loss: 0.5124\n",
      "Epoch 22, Loss: 0.6125\n",
      "Epoch 22, Loss: 0.3554\n",
      "Epoch 22, Loss: 0.0090\n",
      "Epoch 22, Loss: 0.0222\n",
      "Epoch 22, Loss: 0.0448\n",
      "Epoch 22, Loss: 0.0695\n",
      "Epoch 22, Loss: 0.6107\n",
      "Epoch 22, Loss: 0.5976\n",
      "Epoch 22, Loss: 0.0066\n",
      "Epoch 22, Loss: 0.0670\n",
      "Epoch 22, Loss: 0.0351\n",
      "Epoch 22, Loss: 0.0648\n",
      "Epoch 22, Loss: 0.0751\n",
      "Epoch 22, Loss: 0.0485\n",
      "Epoch 22, Loss: 0.0386\n",
      "Epoch 22, Loss: 0.0168\n",
      "Epoch 22, Loss: 0.0250\n",
      "Epoch 22, Loss: 0.7693\n",
      "Epoch 22, Loss: 0.0083\n",
      "Epoch 22, Loss: 0.2616\n",
      "Epoch 22, Loss: 0.2769\n",
      "Epoch 22, Loss: 0.2617\n",
      "Epoch 22, Loss: 0.5445\n",
      "Epoch 22, Loss: 0.6436\n",
      "Epoch 22, Loss: 0.3396\n",
      "Epoch 22, Loss: 0.3135\n",
      "Epoch 22, Loss: 0.3266\n",
      "Epoch 22, Loss: 0.0481\n",
      "Epoch 22, Loss: 0.6469\n",
      "Epoch 22, Loss: 0.0136\n",
      "Epoch 22, Loss: 0.0147\n",
      "Epoch 22, Loss: 0.0118\n",
      "Epoch 22, Loss: 0.0058\n",
      "Epoch 22, Loss: 0.7995\n",
      "Epoch 22, Loss: 0.1756\n",
      "Epoch 22, Loss: 0.1483\n",
      "Epoch 22, Loss: 0.0895\n",
      "Epoch 22, Loss: 1.0799\n",
      "Epoch 22, Loss: 0.8414\n",
      "Epoch 22, Loss: 0.3305\n",
      "Epoch 22, Loss: 0.3907\n",
      "Epoch 22, Loss: 0.3424\n",
      "Epoch 22, Loss: 0.6722\n",
      "Epoch 22, Loss: 0.2987\n",
      "Epoch 22, Loss: 0.0160\n",
      "Epoch 22, Loss: 0.0239\n",
      "Epoch 22, Loss: 0.6595\n",
      "Epoch 22, Loss: 0.0178\n",
      "Epoch 22, Loss: 0.0998\n",
      "Epoch 22, Loss: 0.3294\n",
      "Epoch 22, Loss: 1.3398\n",
      "Epoch 22, Loss: 0.0465\n",
      "Epoch 22, Loss: 0.7760\n",
      "Epoch 22, Loss: 0.0333\n",
      "Epoch 23, Loss: 1.1422\n",
      "Epoch 23, Loss: 0.0790\n",
      "Epoch 23, Loss: 0.0397\n",
      "Epoch 23, Loss: 0.0750\n",
      "Epoch 23, Loss: 0.1579\n",
      "Epoch 23, Loss: 0.6342\n",
      "Epoch 23, Loss: 0.1903\n",
      "Epoch 23, Loss: 1.0070\n",
      "Epoch 23, Loss: 0.0408\n",
      "Epoch 23, Loss: 0.0171\n",
      "Epoch 23, Loss: 0.6428\n",
      "Epoch 23, Loss: 0.0381\n",
      "Epoch 23, Loss: 0.2205\n",
      "Epoch 23, Loss: 0.1093\n",
      "Epoch 23, Loss: 0.1478\n",
      "Epoch 23, Loss: 0.7640\n",
      "Epoch 23, Loss: 0.3840\n",
      "Epoch 23, Loss: 0.0261\n",
      "Epoch 23, Loss: 0.9904\n",
      "Epoch 23, Loss: 0.8076\n",
      "Epoch 23, Loss: 0.0422\n",
      "Epoch 23, Loss: 0.0767\n",
      "Epoch 23, Loss: 0.8695\n",
      "Epoch 23, Loss: 0.0532\n",
      "Epoch 23, Loss: 0.0096\n",
      "Epoch 23, Loss: 0.2394\n",
      "Epoch 23, Loss: 0.2290\n",
      "Epoch 23, Loss: 0.1311\n",
      "Epoch 23, Loss: 0.1387\n",
      "Epoch 23, Loss: 1.1145\n",
      "Epoch 23, Loss: 0.1602\n",
      "Epoch 23, Loss: 0.0620\n",
      "Epoch 23, Loss: 1.0491\n",
      "Epoch 23, Loss: 0.2779\n",
      "Epoch 23, Loss: 0.0964\n",
      "Epoch 23, Loss: 0.2139\n",
      "Epoch 23, Loss: 1.0523\n",
      "Epoch 23, Loss: 0.0427\n",
      "Epoch 23, Loss: 0.6810\n",
      "Epoch 23, Loss: 0.4129\n",
      "Epoch 23, Loss: 1.1918\n",
      "Epoch 23, Loss: 0.0551\n",
      "Epoch 23, Loss: 0.0217\n",
      "Epoch 23, Loss: 0.5672\n",
      "Epoch 23, Loss: 0.0072\n",
      "Epoch 23, Loss: 0.0252\n",
      "Epoch 23, Loss: 0.0602\n",
      "Epoch 23, Loss: 0.0232\n",
      "Epoch 23, Loss: 1.2880\n",
      "Epoch 23, Loss: 0.6905\n",
      "Epoch 23, Loss: 0.0032\n",
      "Epoch 23, Loss: 0.0615\n",
      "Epoch 23, Loss: 0.0368\n",
      "Epoch 23, Loss: 0.5382\n",
      "Epoch 23, Loss: 0.1815\n",
      "Epoch 23, Loss: 0.6349\n",
      "Epoch 23, Loss: 0.1478\n",
      "Epoch 23, Loss: 0.1481\n",
      "Epoch 23, Loss: 0.0236\n",
      "Epoch 23, Loss: 0.0141\n",
      "Epoch 23, Loss: 0.0141\n",
      "Epoch 23, Loss: 0.7270\n",
      "Epoch 23, Loss: 0.0099\n",
      "Epoch 23, Loss: 0.0949\n",
      "Epoch 23, Loss: 0.0147\n",
      "Epoch 23, Loss: 0.0354\n",
      "Epoch 23, Loss: 0.2125\n",
      "Epoch 23, Loss: 0.4744\n",
      "Epoch 23, Loss: 0.1497\n",
      "Epoch 23, Loss: 0.0340\n",
      "Epoch 23, Loss: 0.0217\n",
      "Epoch 23, Loss: 0.0339\n",
      "Epoch 23, Loss: 0.0087\n",
      "Epoch 23, Loss: 0.9160\n",
      "Epoch 23, Loss: 0.1982\n",
      "Epoch 23, Loss: 0.6283\n",
      "Epoch 23, Loss: 0.3925\n",
      "Epoch 23, Loss: 0.1337\n",
      "Epoch 23, Loss: 0.3448\n",
      "Epoch 23, Loss: 0.0549\n",
      "Epoch 23, Loss: 0.7879\n",
      "Epoch 23, Loss: 0.0116\n",
      "Epoch 23, Loss: 0.0098\n",
      "Epoch 23, Loss: 0.0084\n",
      "Epoch 23, Loss: 0.0044\n",
      "Epoch 23, Loss: 0.0023\n",
      "Epoch 23, Loss: 0.1877\n",
      "Epoch 23, Loss: 0.3101\n",
      "Epoch 23, Loss: 0.3010\n",
      "Epoch 23, Loss: 0.3199\n",
      "Epoch 23, Loss: 0.2741\n",
      "Epoch 23, Loss: 0.0071\n",
      "Epoch 23, Loss: 0.0113\n",
      "Epoch 23, Loss: 0.0760\n",
      "Epoch 23, Loss: 0.0534\n",
      "Epoch 23, Loss: 0.4870\n",
      "Epoch 23, Loss: 0.6610\n",
      "Epoch 23, Loss: 0.0116\n",
      "Epoch 23, Loss: 0.1731\n",
      "Epoch 23, Loss: 1.6607\n",
      "Epoch 23, Loss: 0.0940\n",
      "Epoch 23, Loss: 0.0461\n",
      "Epoch 23, Loss: 0.0096\n",
      "Epoch 23, Loss: 0.0099\n",
      "Epoch 23, Loss: 0.0074\n",
      "Epoch 23, Loss: 0.0050\n",
      "Epoch 23, Loss: 0.6242\n",
      "Epoch 23, Loss: 0.0020\n",
      "Epoch 23, Loss: 0.6940\n",
      "Epoch 23, Loss: 0.5827\n",
      "Epoch 23, Loss: 0.4601\n",
      "Epoch 23, Loss: 0.7455\n",
      "Epoch 23, Loss: 1.0672\n",
      "Epoch 23, Loss: 0.1517\n",
      "Epoch 23, Loss: 0.1127\n",
      "Epoch 23, Loss: 0.9135\n",
      "Epoch 23, Loss: 0.2565\n",
      "Epoch 23, Loss: 0.7444\n",
      "Epoch 23, Loss: 0.0377\n",
      "Epoch 23, Loss: 0.0193\n",
      "Epoch 23, Loss: 0.0278\n",
      "Epoch 23, Loss: 0.0111\n",
      "Epoch 23, Loss: 0.4266\n",
      "Epoch 23, Loss: 0.0186\n",
      "Epoch 23, Loss: 0.0300\n",
      "Epoch 23, Loss: 0.0403\n",
      "Epoch 23, Loss: 1.7717\n",
      "Epoch 23, Loss: 0.5419\n",
      "Epoch 23, Loss: 0.3967\n",
      "Epoch 23, Loss: 0.4647\n",
      "Epoch 23, Loss: 0.4880\n",
      "Epoch 23, Loss: 0.6173\n",
      "Epoch 23, Loss: 0.2574\n",
      "Epoch 23, Loss: 0.0222\n",
      "Epoch 23, Loss: 0.0117\n",
      "Epoch 23, Loss: 0.8718\n",
      "Epoch 23, Loss: 0.0431\n",
      "Epoch 23, Loss: 0.0211\n",
      "Epoch 23, Loss: 0.3624\n",
      "Epoch 23, Loss: 0.5242\n",
      "Epoch 23, Loss: 0.0041\n",
      "Epoch 23, Loss: 0.8723\n",
      "Epoch 23, Loss: 0.0029\n",
      "Epoch 24, Loss: 1.4438\n",
      "Epoch 24, Loss: 0.0301\n",
      "Epoch 24, Loss: 0.0203\n",
      "Epoch 24, Loss: 0.0225\n",
      "Epoch 24, Loss: 0.0491\n",
      "Epoch 24, Loss: 0.6593\n",
      "Epoch 24, Loss: 0.0953\n",
      "Epoch 24, Loss: 1.2028\n",
      "Epoch 24, Loss: 0.0284\n",
      "Epoch 24, Loss: 0.0172\n",
      "Epoch 24, Loss: 0.6527\n",
      "Epoch 24, Loss: 0.0011\n",
      "Epoch 24, Loss: 0.6364\n",
      "Epoch 24, Loss: 0.3287\n",
      "Epoch 24, Loss: 0.5875\n",
      "Epoch 24, Loss: 0.2454\n",
      "Epoch 24, Loss: 0.2039\n",
      "Epoch 24, Loss: 0.0500\n",
      "Epoch 24, Loss: 0.9317\n",
      "Epoch 24, Loss: 1.0263\n",
      "Epoch 24, Loss: 0.0075\n",
      "Epoch 24, Loss: 0.0116\n",
      "Epoch 24, Loss: 0.8388\n",
      "Epoch 24, Loss: 0.0195\n",
      "Epoch 24, Loss: 0.0124\n",
      "Epoch 24, Loss: 0.0517\n",
      "Epoch 24, Loss: 0.0924\n",
      "Epoch 24, Loss: 0.2571\n",
      "Epoch 24, Loss: 0.1053\n",
      "Epoch 24, Loss: 1.0360\n",
      "Epoch 24, Loss: 0.0617\n",
      "Epoch 24, Loss: 0.0586\n",
      "Epoch 24, Loss: 0.9673\n",
      "Epoch 24, Loss: 0.7568\n",
      "Epoch 24, Loss: 0.1776\n",
      "Epoch 24, Loss: 0.2905\n",
      "Epoch 24, Loss: 1.3277\n",
      "Epoch 24, Loss: 0.4499\n",
      "Epoch 24, Loss: 0.7281\n",
      "Epoch 24, Loss: 0.2262\n",
      "Epoch 24, Loss: 0.9978\n",
      "Epoch 24, Loss: 0.0557\n",
      "Epoch 24, Loss: 0.0656\n",
      "Epoch 24, Loss: 0.8686\n",
      "Epoch 24, Loss: 0.0307\n",
      "Epoch 24, Loss: 0.2741\n",
      "Epoch 24, Loss: 0.1326\n",
      "Epoch 24, Loss: 0.0209\n",
      "Epoch 24, Loss: 1.2444\n",
      "Epoch 24, Loss: 1.0884\n",
      "Epoch 24, Loss: 0.0075\n",
      "Epoch 24, Loss: 0.0078\n",
      "Epoch 24, Loss: 0.0010\n",
      "Epoch 24, Loss: 0.5853\n",
      "Epoch 24, Loss: 0.4170\n",
      "Epoch 24, Loss: 0.1732\n",
      "Epoch 24, Loss: 1.1996\n",
      "Epoch 24, Loss: 1.3999\n",
      "Epoch 24, Loss: 0.0371\n",
      "Epoch 24, Loss: 0.0182\n",
      "Epoch 24, Loss: 0.0239\n",
      "Epoch 24, Loss: 0.6850\n",
      "Epoch 24, Loss: 0.1695\n",
      "Epoch 24, Loss: 0.0095\n",
      "Epoch 24, Loss: 0.0123\n",
      "Epoch 24, Loss: 0.0529\n",
      "Epoch 24, Loss: 0.0167\n",
      "Epoch 24, Loss: 0.5624\n",
      "Epoch 24, Loss: 0.0032\n",
      "Epoch 24, Loss: 0.0193\n",
      "Epoch 24, Loss: 0.0163\n",
      "Epoch 24, Loss: 0.0119\n",
      "Epoch 24, Loss: 0.1128\n",
      "Epoch 24, Loss: 1.1784\n",
      "Epoch 24, Loss: 0.0626\n",
      "Epoch 24, Loss: 0.1122\n",
      "Epoch 24, Loss: 1.3995\n",
      "Epoch 24, Loss: 0.0706\n",
      "Epoch 24, Loss: 0.2754\n",
      "Epoch 24, Loss: 0.1552\n",
      "Epoch 24, Loss: 0.6226\n",
      "Epoch 24, Loss: 0.0175\n",
      "Epoch 24, Loss: 0.0220\n",
      "Epoch 24, Loss: 0.0396\n",
      "Epoch 24, Loss: 0.0974\n",
      "Epoch 24, Loss: 0.0321\n",
      "Epoch 24, Loss: 0.0418\n",
      "Epoch 24, Loss: 0.0618\n",
      "Epoch 24, Loss: 0.0212\n",
      "Epoch 24, Loss: 0.2664\n",
      "Epoch 24, Loss: 0.0779\n",
      "Epoch 24, Loss: 0.0115\n",
      "Epoch 24, Loss: 0.1154\n",
      "Epoch 24, Loss: 0.0476\n",
      "Epoch 24, Loss: 0.1305\n",
      "Epoch 24, Loss: 1.0025\n",
      "Epoch 24, Loss: 0.6788\n",
      "Epoch 24, Loss: 0.0398\n",
      "Epoch 24, Loss: 0.0113\n",
      "Epoch 24, Loss: 0.0441\n",
      "Epoch 24, Loss: 0.0086\n",
      "Epoch 24, Loss: 0.0427\n",
      "Epoch 24, Loss: 0.0397\n",
      "Epoch 24, Loss: 0.0172\n",
      "Epoch 24, Loss: 0.0169\n",
      "Epoch 24, Loss: 0.1377\n",
      "Epoch 24, Loss: 0.6345\n",
      "Epoch 24, Loss: 0.0086\n",
      "Epoch 24, Loss: 0.7568\n",
      "Epoch 24, Loss: 0.5869\n",
      "Epoch 24, Loss: 0.2411\n",
      "Epoch 24, Loss: 0.8169\n",
      "Epoch 24, Loss: 0.6020\n",
      "Epoch 24, Loss: 0.0279\n",
      "Epoch 24, Loss: 0.0575\n",
      "Epoch 24, Loss: 0.1995\n",
      "Epoch 24, Loss: 0.3280\n",
      "Epoch 24, Loss: 0.7896\n",
      "Epoch 24, Loss: 0.0407\n",
      "Epoch 24, Loss: 0.0265\n",
      "Epoch 24, Loss: 0.0132\n",
      "Epoch 24, Loss: 0.0162\n",
      "Epoch 24, Loss: 0.6539\n",
      "Epoch 24, Loss: 0.0802\n",
      "Epoch 24, Loss: 0.0763\n",
      "Epoch 24, Loss: 0.0521\n",
      "Epoch 24, Loss: 1.1696\n",
      "Epoch 24, Loss: 0.3102\n",
      "Epoch 24, Loss: 0.0552\n",
      "Epoch 24, Loss: 0.6342\n",
      "Epoch 24, Loss: 0.3825\n",
      "Epoch 24, Loss: 1.0729\n",
      "Epoch 24, Loss: 0.9922\n",
      "Epoch 24, Loss: 0.0415\n",
      "Epoch 24, Loss: 0.1246\n",
      "Epoch 24, Loss: 0.7948\n",
      "Epoch 24, Loss: 0.0388\n",
      "Epoch 24, Loss: 0.3067\n",
      "Epoch 24, Loss: 0.4915\n",
      "Epoch 24, Loss: 0.7686\n",
      "Epoch 24, Loss: 0.1046\n",
      "Epoch 24, Loss: 0.7574\n",
      "Epoch 24, Loss: 0.0050\n",
      "Epoch 25, Loss: 0.9520\n",
      "Epoch 25, Loss: 0.0640\n",
      "Epoch 25, Loss: 0.0295\n",
      "Epoch 25, Loss: 0.1635\n",
      "Epoch 25, Loss: 0.1514\n",
      "Epoch 25, Loss: 1.1855\n",
      "Epoch 25, Loss: 0.1681\n",
      "Epoch 25, Loss: 0.7827\n",
      "Epoch 25, Loss: 0.0261\n",
      "Epoch 25, Loss: 0.0234\n",
      "Epoch 25, Loss: 0.9127\n",
      "Epoch 25, Loss: 0.0091\n",
      "Epoch 25, Loss: 0.8139\n",
      "Epoch 25, Loss: 0.3749\n",
      "Epoch 25, Loss: 0.5256\n",
      "Epoch 25, Loss: 0.3528\n",
      "Epoch 25, Loss: 0.4000\n",
      "Epoch 25, Loss: 0.0336\n",
      "Epoch 25, Loss: 1.1449\n",
      "Epoch 25, Loss: 0.8753\n",
      "Epoch 25, Loss: 0.0156\n",
      "Epoch 25, Loss: 0.4492\n",
      "Epoch 25, Loss: 0.9544\n",
      "Epoch 25, Loss: 0.1108\n",
      "Epoch 25, Loss: 0.0018\n",
      "Epoch 25, Loss: 0.0072\n",
      "Epoch 25, Loss: 0.0240\n",
      "Epoch 25, Loss: 0.0199\n",
      "Epoch 25, Loss: 0.0196\n",
      "Epoch 25, Loss: 0.6991\n",
      "Epoch 25, Loss: 0.0211\n",
      "Epoch 25, Loss: 0.0598\n",
      "Epoch 25, Loss: 0.8685\n",
      "Epoch 25, Loss: 0.2367\n",
      "Epoch 25, Loss: 0.5805\n",
      "Epoch 25, Loss: 0.3605\n",
      "Epoch 25, Loss: 0.5110\n",
      "Epoch 25, Loss: 0.6205\n",
      "Epoch 25, Loss: 0.3704\n",
      "Epoch 25, Loss: 0.1230\n",
      "Epoch 25, Loss: 0.1262\n",
      "Epoch 25, Loss: 0.0084\n",
      "Epoch 25, Loss: 0.0114\n",
      "Epoch 25, Loss: 0.6226\n",
      "Epoch 25, Loss: 0.0129\n",
      "Epoch 25, Loss: 0.1798\n",
      "Epoch 25, Loss: 0.0755\n",
      "Epoch 25, Loss: 0.1085\n",
      "Epoch 25, Loss: 1.1146\n",
      "Epoch 25, Loss: 0.6202\n",
      "Epoch 25, Loss: 0.0082\n",
      "Epoch 25, Loss: 0.0122\n",
      "Epoch 25, Loss: 0.0564\n",
      "Epoch 25, Loss: 0.2460\n",
      "Epoch 25, Loss: 0.4401\n",
      "Epoch 25, Loss: 0.0661\n",
      "Epoch 25, Loss: 0.3538\n",
      "Epoch 25, Loss: 0.7271\n",
      "Epoch 25, Loss: 0.0336\n",
      "Epoch 25, Loss: 0.0198\n",
      "Epoch 25, Loss: 0.0269\n",
      "Epoch 25, Loss: 0.5007\n",
      "Epoch 25, Loss: 0.0569\n",
      "Epoch 25, Loss: 0.0466\n",
      "Epoch 25, Loss: 0.0752\n",
      "Epoch 25, Loss: 0.0497\n",
      "Epoch 25, Loss: 0.1388\n",
      "Epoch 25, Loss: 0.7315\n",
      "Epoch 25, Loss: 0.0051\n",
      "Epoch 25, Loss: 0.1208\n",
      "Epoch 25, Loss: 0.0110\n",
      "Epoch 25, Loss: 0.0322\n",
      "Epoch 25, Loss: 0.1240\n",
      "Epoch 25, Loss: 1.1884\n",
      "Epoch 25, Loss: 0.0631\n",
      "Epoch 25, Loss: 0.1520\n",
      "Epoch 25, Loss: 1.1478\n",
      "Epoch 25, Loss: 0.0225\n",
      "Epoch 25, Loss: 0.0969\n",
      "Epoch 25, Loss: 0.0201\n",
      "Epoch 25, Loss: 1.0629\n",
      "Epoch 25, Loss: 0.0022\n",
      "Epoch 25, Loss: 0.0092\n",
      "Epoch 25, Loss: 0.0201\n",
      "Epoch 25, Loss: 0.0389\n",
      "Epoch 25, Loss: 0.0396\n",
      "Epoch 25, Loss: 0.1743\n",
      "Epoch 25, Loss: 0.2488\n",
      "Epoch 25, Loss: 0.3972\n",
      "Epoch 25, Loss: 0.7216\n",
      "Epoch 25, Loss: 0.7227\n",
      "Epoch 25, Loss: 0.0047\n",
      "Epoch 25, Loss: 0.0068\n",
      "Epoch 25, Loss: 0.0061\n",
      "Epoch 25, Loss: 0.1083\n",
      "Epoch 25, Loss: 0.3147\n",
      "Epoch 25, Loss: 0.4776\n",
      "Epoch 25, Loss: 0.0085\n",
      "Epoch 25, Loss: 0.0023\n",
      "Epoch 25, Loss: 0.0097\n",
      "Epoch 25, Loss: 0.0453\n",
      "Epoch 25, Loss: 0.4707\n",
      "Epoch 25, Loss: 0.0095\n",
      "Epoch 25, Loss: 0.0090\n",
      "Epoch 25, Loss: 0.0142\n",
      "Epoch 25, Loss: 0.0073\n",
      "Epoch 25, Loss: 0.6855\n",
      "Epoch 25, Loss: 0.0043\n",
      "Epoch 25, Loss: 0.1036\n",
      "Epoch 25, Loss: 0.1347\n",
      "Epoch 25, Loss: 0.2323\n",
      "Epoch 25, Loss: 1.4355\n",
      "Epoch 25, Loss: 1.1099\n",
      "Epoch 25, Loss: 0.0459\n",
      "Epoch 25, Loss: 0.0410\n",
      "Epoch 25, Loss: 0.8848\n",
      "Epoch 25, Loss: 0.2075\n",
      "Epoch 25, Loss: 0.6599\n",
      "Epoch 25, Loss: 0.0408\n",
      "Epoch 25, Loss: 0.0402\n",
      "Epoch 25, Loss: 0.0311\n",
      "Epoch 25, Loss: 0.0373\n",
      "Epoch 25, Loss: 1.1086\n",
      "Epoch 25, Loss: 0.1876\n",
      "Epoch 25, Loss: 0.1970\n",
      "Epoch 25, Loss: 0.0940\n",
      "Epoch 25, Loss: 1.0628\n",
      "Epoch 25, Loss: 0.2012\n",
      "Epoch 25, Loss: 0.0242\n",
      "Epoch 25, Loss: 0.3815\n",
      "Epoch 25, Loss: 0.7196\n",
      "Epoch 25, Loss: 0.7514\n",
      "Epoch 25, Loss: 0.3247\n",
      "Epoch 25, Loss: 0.0047\n",
      "Epoch 25, Loss: 0.0043\n",
      "Epoch 25, Loss: 0.4855\n",
      "Epoch 25, Loss: 0.0446\n",
      "Epoch 25, Loss: 0.0636\n",
      "Epoch 25, Loss: 0.3154\n",
      "Epoch 25, Loss: 0.1070\n",
      "Epoch 25, Loss: 0.0606\n",
      "Epoch 25, Loss: 0.8286\n",
      "Epoch 25, Loss: 0.3590\n",
      "Epoch 26, Loss: 0.6526\n",
      "Epoch 26, Loss: 0.0708\n",
      "Epoch 26, Loss: 0.0832\n",
      "Epoch 26, Loss: 0.0775\n",
      "Epoch 26, Loss: 0.0387\n",
      "Epoch 26, Loss: 1.0990\n",
      "Epoch 26, Loss: 0.0963\n",
      "Epoch 26, Loss: 0.5821\n",
      "Epoch 26, Loss: 0.0081\n",
      "Epoch 26, Loss: 0.0252\n",
      "Epoch 26, Loss: 0.6843\n",
      "Epoch 26, Loss: 0.0122\n",
      "Epoch 26, Loss: 0.5416\n",
      "Epoch 26, Loss: 0.2562\n",
      "Epoch 26, Loss: 0.1533\n",
      "Epoch 26, Loss: 0.7544\n",
      "Epoch 26, Loss: 0.7113\n",
      "Epoch 26, Loss: 0.0933\n",
      "Epoch 26, Loss: 1.3647\n",
      "Epoch 26, Loss: 0.5269\n",
      "Epoch 26, Loss: 0.0067\n",
      "Epoch 26, Loss: 0.0228\n",
      "Epoch 26, Loss: 0.7340\n",
      "Epoch 26, Loss: 0.1175\n",
      "Epoch 26, Loss: 0.0577\n",
      "Epoch 26, Loss: 0.0237\n",
      "Epoch 26, Loss: 0.0416\n",
      "Epoch 26, Loss: 1.0381\n",
      "Epoch 26, Loss: 0.0320\n",
      "Epoch 26, Loss: 0.8065\n",
      "Epoch 26, Loss: 0.0201\n",
      "Epoch 26, Loss: 0.0048\n",
      "Epoch 26, Loss: 0.9244\n",
      "Epoch 26, Loss: 0.0305\n",
      "Epoch 26, Loss: 0.0632\n",
      "Epoch 26, Loss: 0.1810\n",
      "Epoch 26, Loss: 0.6809\n",
      "Epoch 26, Loss: 0.4179\n",
      "Epoch 26, Loss: 0.6500\n",
      "Epoch 26, Loss: 0.0452\n",
      "Epoch 26, Loss: 0.2460\n",
      "Epoch 26, Loss: 0.2930\n",
      "Epoch 26, Loss: 0.0111\n",
      "Epoch 26, Loss: 0.8380\n",
      "Epoch 26, Loss: 0.0126\n",
      "Epoch 26, Loss: 0.0871\n",
      "Epoch 26, Loss: 0.1440\n",
      "Epoch 26, Loss: 0.0578\n",
      "Epoch 26, Loss: 0.8628\n",
      "Epoch 26, Loss: 1.2098\n",
      "Epoch 26, Loss: 0.0011\n",
      "Epoch 26, Loss: 0.0014\n",
      "Epoch 26, Loss: 0.0027\n",
      "Epoch 26, Loss: 1.6296\n",
      "Epoch 26, Loss: 1.4074\n",
      "Epoch 26, Loss: 0.9212\n",
      "Epoch 26, Loss: 0.4036\n",
      "Epoch 26, Loss: 0.2838\n",
      "Epoch 26, Loss: 0.0105\n",
      "Epoch 26, Loss: 0.0214\n",
      "Epoch 26, Loss: 0.0247\n",
      "Epoch 26, Loss: 0.8593\n",
      "Epoch 26, Loss: 0.0044\n",
      "Epoch 26, Loss: 0.0093\n",
      "Epoch 26, Loss: 0.0151\n",
      "Epoch 26, Loss: 0.0298\n",
      "Epoch 26, Loss: 0.0308\n",
      "Epoch 26, Loss: 0.6036\n",
      "Epoch 26, Loss: 0.0012\n",
      "Epoch 26, Loss: 0.9637\n",
      "Epoch 26, Loss: 0.7025\n",
      "Epoch 26, Loss: 0.0962\n",
      "Epoch 26, Loss: 0.0712\n",
      "Epoch 26, Loss: 1.4439\n",
      "Epoch 26, Loss: 0.0772\n",
      "Epoch 26, Loss: 0.0426\n",
      "Epoch 26, Loss: 0.3582\n",
      "Epoch 26, Loss: 0.0511\n",
      "Epoch 26, Loss: 0.2428\n",
      "Epoch 26, Loss: 0.0088\n",
      "Epoch 26, Loss: 0.7841\n",
      "Epoch 26, Loss: 0.0096\n",
      "Epoch 26, Loss: 0.0099\n",
      "Epoch 26, Loss: 0.0224\n",
      "Epoch 26, Loss: 0.0125\n",
      "Epoch 26, Loss: 0.0036\n",
      "Epoch 26, Loss: 0.3645\n",
      "Epoch 26, Loss: 0.3722\n",
      "Epoch 26, Loss: 1.5925\n",
      "Epoch 26, Loss: 1.1194\n",
      "Epoch 26, Loss: 1.1677\n",
      "Epoch 26, Loss: 0.0130\n",
      "Epoch 26, Loss: 0.0117\n",
      "Epoch 26, Loss: 0.0514\n",
      "Epoch 26, Loss: 0.0293\n",
      "Epoch 26, Loss: 0.4841\n",
      "Epoch 26, Loss: 0.5596\n",
      "Epoch 26, Loss: 0.4830\n",
      "Epoch 26, Loss: 0.0429\n",
      "Epoch 26, Loss: 0.1137\n",
      "Epoch 26, Loss: 0.1719\n",
      "Epoch 26, Loss: 0.3804\n",
      "Epoch 26, Loss: 0.0714\n",
      "Epoch 26, Loss: 0.1002\n",
      "Epoch 26, Loss: 0.0214\n",
      "Epoch 26, Loss: 0.0561\n",
      "Epoch 26, Loss: 0.9167\n",
      "Epoch 26, Loss: 0.0281\n",
      "Epoch 26, Loss: 0.1637\n",
      "Epoch 26, Loss: 0.2235\n",
      "Epoch 26, Loss: 0.2580\n",
      "Epoch 26, Loss: 1.0382\n",
      "Epoch 26, Loss: 0.8618\n",
      "Epoch 26, Loss: 0.0279\n",
      "Epoch 26, Loss: 0.0405\n",
      "Epoch 26, Loss: 0.3231\n",
      "Epoch 26, Loss: 0.2299\n",
      "Epoch 26, Loss: 0.6891\n",
      "Epoch 26, Loss: 0.0258\n",
      "Epoch 26, Loss: 0.0641\n",
      "Epoch 26, Loss: 0.0528\n",
      "Epoch 26, Loss: 0.0146\n",
      "Epoch 26, Loss: 0.7672\n",
      "Epoch 26, Loss: 0.0074\n",
      "Epoch 26, Loss: 0.0235\n",
      "Epoch 26, Loss: 0.0683\n",
      "Epoch 26, Loss: 0.9163\n",
      "Epoch 26, Loss: 0.2930\n",
      "Epoch 26, Loss: 0.0442\n",
      "Epoch 26, Loss: 0.2875\n",
      "Epoch 26, Loss: 0.2030\n",
      "Epoch 26, Loss: 0.4781\n",
      "Epoch 26, Loss: 0.7736\n",
      "Epoch 26, Loss: 0.0160\n",
      "Epoch 26, Loss: 0.0196\n",
      "Epoch 26, Loss: 0.9098\n",
      "Epoch 26, Loss: 0.0472\n",
      "Epoch 26, Loss: 0.1238\n",
      "Epoch 26, Loss: 1.5055\n",
      "Epoch 26, Loss: 1.1630\n",
      "Epoch 26, Loss: 0.1040\n",
      "Epoch 26, Loss: 0.8682\n",
      "Epoch 26, Loss: 0.1169\n",
      "Epoch 27, Loss: 1.3583\n",
      "Epoch 27, Loss: 0.0211\n",
      "Epoch 27, Loss: 0.0534\n",
      "Epoch 27, Loss: 0.0789\n",
      "Epoch 27, Loss: 0.0528\n",
      "Epoch 27, Loss: 0.7857\n",
      "Epoch 27, Loss: 0.0274\n",
      "Epoch 27, Loss: 0.6114\n",
      "Epoch 27, Loss: 0.0345\n",
      "Epoch 27, Loss: 0.0183\n",
      "Epoch 27, Loss: 0.7205\n",
      "Epoch 27, Loss: 0.0273\n",
      "Epoch 27, Loss: 0.2330\n",
      "Epoch 27, Loss: 0.4372\n",
      "Epoch 27, Loss: 0.1817\n",
      "Epoch 27, Loss: 0.7773\n",
      "Epoch 27, Loss: 0.5118\n",
      "Epoch 27, Loss: 0.0346\n",
      "Epoch 27, Loss: 0.9389\n",
      "Epoch 27, Loss: 0.1878\n",
      "Epoch 27, Loss: 0.0118\n",
      "Epoch 27, Loss: 0.0181\n",
      "Epoch 27, Loss: 0.8953\n",
      "Epoch 27, Loss: 0.1220\n",
      "Epoch 27, Loss: 0.0297\n",
      "Epoch 27, Loss: 0.0167\n",
      "Epoch 27, Loss: 0.0088\n",
      "Epoch 27, Loss: 0.0209\n",
      "Epoch 27, Loss: 0.0279\n",
      "Epoch 27, Loss: 0.4347\n",
      "Epoch 27, Loss: 0.0158\n",
      "Epoch 27, Loss: 0.0106\n",
      "Epoch 27, Loss: 0.9793\n",
      "Epoch 27, Loss: 0.9474\n",
      "Epoch 27, Loss: 0.2700\n",
      "Epoch 27, Loss: 0.2720\n",
      "Epoch 27, Loss: 1.7230\n",
      "Epoch 27, Loss: 1.3192\n",
      "Epoch 27, Loss: 1.2588\n",
      "Epoch 27, Loss: 0.0227\n",
      "Epoch 27, Loss: 0.6395\n",
      "Epoch 27, Loss: 0.0198\n",
      "Epoch 27, Loss: 0.0226\n",
      "Epoch 27, Loss: 0.5884\n",
      "Epoch 27, Loss: 0.0044\n",
      "Epoch 27, Loss: 0.0052\n",
      "Epoch 27, Loss: 0.0101\n",
      "Epoch 27, Loss: 0.0046\n",
      "Epoch 27, Loss: 0.7047\n",
      "Epoch 27, Loss: 0.5697\n",
      "Epoch 27, Loss: 0.0046\n",
      "Epoch 27, Loss: 0.0058\n",
      "Epoch 27, Loss: 0.0084\n",
      "Epoch 27, Loss: 0.0403\n",
      "Epoch 27, Loss: 0.0463\n",
      "Epoch 27, Loss: 0.0248\n",
      "Epoch 27, Loss: 0.0870\n",
      "Epoch 27, Loss: 0.1148\n",
      "Epoch 27, Loss: 0.0926\n",
      "Epoch 27, Loss: 0.0319\n",
      "Epoch 27, Loss: 0.0148\n",
      "Epoch 27, Loss: 0.6727\n",
      "Epoch 27, Loss: 0.0261\n",
      "Epoch 27, Loss: 0.2367\n",
      "Epoch 27, Loss: 0.0146\n",
      "Epoch 27, Loss: 0.0449\n",
      "Epoch 27, Loss: 0.0229\n",
      "Epoch 27, Loss: 0.7995\n",
      "Epoch 27, Loss: 0.0164\n",
      "Epoch 27, Loss: 0.1570\n",
      "Epoch 27, Loss: 0.1101\n",
      "Epoch 27, Loss: 0.0261\n",
      "Epoch 27, Loss: 0.0087\n",
      "Epoch 27, Loss: 1.0673\n",
      "Epoch 27, Loss: 0.0605\n",
      "Epoch 27, Loss: 0.0544\n",
      "Epoch 27, Loss: 1.1459\n",
      "Epoch 27, Loss: 0.1519\n",
      "Epoch 27, Loss: 0.7395\n",
      "Epoch 27, Loss: 0.0078\n",
      "Epoch 27, Loss: 0.8359\n",
      "Epoch 27, Loss: 0.0024\n",
      "Epoch 27, Loss: 0.0032\n",
      "Epoch 27, Loss: 0.0027\n",
      "Epoch 27, Loss: 0.0138\n",
      "Epoch 27, Loss: 0.0038\n",
      "Epoch 27, Loss: 0.8662\n",
      "Epoch 27, Loss: 1.3694\n",
      "Epoch 27, Loss: 1.0315\n",
      "Epoch 27, Loss: 0.9168\n",
      "Epoch 27, Loss: 1.1691\n",
      "Epoch 27, Loss: 0.0868\n",
      "Epoch 27, Loss: 0.0545\n",
      "Epoch 27, Loss: 0.0316\n",
      "Epoch 27, Loss: 0.1062\n",
      "Epoch 27, Loss: 0.7660\n",
      "Epoch 27, Loss: 0.6418\n",
      "Epoch 27, Loss: 0.0054\n",
      "Epoch 27, Loss: 0.0008\n",
      "Epoch 27, Loss: 0.0022\n",
      "Epoch 27, Loss: 0.0132\n",
      "Epoch 27, Loss: 1.2715\n",
      "Epoch 27, Loss: 0.0424\n",
      "Epoch 27, Loss: 0.0388\n",
      "Epoch 27, Loss: 0.0520\n",
      "Epoch 27, Loss: 0.0210\n",
      "Epoch 27, Loss: 0.7962\n",
      "Epoch 27, Loss: 0.1621\n",
      "Epoch 27, Loss: 0.6880\n",
      "Epoch 27, Loss: 0.0847\n",
      "Epoch 27, Loss: 0.3122\n",
      "Epoch 27, Loss: 0.9483\n",
      "Epoch 27, Loss: 0.8841\n",
      "Epoch 27, Loss: 0.0432\n",
      "Epoch 27, Loss: 0.0404\n",
      "Epoch 27, Loss: 1.0196\n",
      "Epoch 27, Loss: 0.2757\n",
      "Epoch 27, Loss: 0.7431\n",
      "Epoch 27, Loss: 0.0192\n",
      "Epoch 27, Loss: 0.0382\n",
      "Epoch 27, Loss: 0.0877\n",
      "Epoch 27, Loss: 0.0146\n",
      "Epoch 27, Loss: 0.7162\n",
      "Epoch 27, Loss: 0.0951\n",
      "Epoch 27, Loss: 0.0719\n",
      "Epoch 27, Loss: 0.0314\n",
      "Epoch 27, Loss: 0.9216\n",
      "Epoch 27, Loss: 0.2078\n",
      "Epoch 27, Loss: 0.8092\n",
      "Epoch 27, Loss: 0.2415\n",
      "Epoch 27, Loss: 0.6566\n",
      "Epoch 27, Loss: 0.8007\n",
      "Epoch 27, Loss: 0.6544\n",
      "Epoch 27, Loss: 0.0047\n",
      "Epoch 27, Loss: 0.0461\n",
      "Epoch 27, Loss: 0.7265\n",
      "Epoch 27, Loss: 0.0381\n",
      "Epoch 27, Loss: 0.0498\n",
      "Epoch 27, Loss: 0.3518\n",
      "Epoch 27, Loss: 0.4990\n",
      "Epoch 27, Loss: 0.0104\n",
      "Epoch 27, Loss: 0.8320\n",
      "Epoch 27, Loss: 0.0177\n",
      "Epoch 28, Loss: 1.6763\n",
      "Epoch 28, Loss: 0.1199\n",
      "Epoch 28, Loss: 0.0304\n",
      "Epoch 28, Loss: 0.0503\n",
      "Epoch 28, Loss: 0.0433\n",
      "Epoch 28, Loss: 0.9237\n",
      "Epoch 28, Loss: 0.0507\n",
      "Epoch 28, Loss: 0.9746\n",
      "Epoch 28, Loss: 0.0185\n",
      "Epoch 28, Loss: 0.0251\n",
      "Epoch 28, Loss: 0.7677\n",
      "Epoch 28, Loss: 0.0081\n",
      "Epoch 28, Loss: 0.0804\n",
      "Epoch 28, Loss: 0.7161\n",
      "Epoch 28, Loss: 0.0655\n",
      "Epoch 28, Loss: 1.8180\n",
      "Epoch 28, Loss: 0.8479\n",
      "Epoch 28, Loss: 0.0407\n",
      "Epoch 28, Loss: 1.1591\n",
      "Epoch 28, Loss: 0.7168\n",
      "Epoch 28, Loss: 0.0364\n",
      "Epoch 28, Loss: 0.0543\n",
      "Epoch 28, Loss: 0.7967\n",
      "Epoch 28, Loss: 0.0333\n",
      "Epoch 28, Loss: 0.0448\n",
      "Epoch 28, Loss: 0.1660\n",
      "Epoch 28, Loss: 0.1088\n",
      "Epoch 28, Loss: 1.8573\n",
      "Epoch 28, Loss: 0.1608\n",
      "Epoch 28, Loss: 0.7618\n",
      "Epoch 28, Loss: 0.0188\n",
      "Epoch 28, Loss: 0.0132\n",
      "Epoch 28, Loss: 0.8671\n",
      "Epoch 28, Loss: 0.2823\n",
      "Epoch 28, Loss: 0.1284\n",
      "Epoch 28, Loss: 0.3722\n",
      "Epoch 28, Loss: 1.5033\n",
      "Epoch 28, Loss: 1.1960\n",
      "Epoch 28, Loss: 1.1160\n",
      "Epoch 28, Loss: 0.0225\n",
      "Epoch 28, Loss: 0.7500\n",
      "Epoch 28, Loss: 0.0088\n",
      "Epoch 28, Loss: 0.0091\n",
      "Epoch 28, Loss: 0.6488\n",
      "Epoch 28, Loss: 0.0355\n",
      "Epoch 28, Loss: 0.0134\n",
      "Epoch 28, Loss: 0.0227\n",
      "Epoch 28, Loss: 0.0995\n",
      "Epoch 28, Loss: 0.8465\n",
      "Epoch 28, Loss: 0.3100\n",
      "Epoch 28, Loss: 0.0223\n",
      "Epoch 28, Loss: 0.0270\n",
      "Epoch 28, Loss: 0.0588\n",
      "Epoch 28, Loss: 0.4480\n",
      "Epoch 28, Loss: 0.2077\n",
      "Epoch 28, Loss: 0.0926\n",
      "Epoch 28, Loss: 0.3161\n",
      "Epoch 28, Loss: 0.7319\n",
      "Epoch 28, Loss: 0.0646\n",
      "Epoch 28, Loss: 0.0405\n",
      "Epoch 28, Loss: 0.0995\n",
      "Epoch 28, Loss: 0.7387\n",
      "Epoch 28, Loss: 0.1370\n",
      "Epoch 28, Loss: 0.0100\n",
      "Epoch 28, Loss: 0.0068\n",
      "Epoch 28, Loss: 0.0831\n",
      "Epoch 28, Loss: 0.0358\n",
      "Epoch 28, Loss: 0.7114\n",
      "Epoch 28, Loss: 0.0301\n",
      "Epoch 28, Loss: 0.1922\n",
      "Epoch 28, Loss: 0.0600\n",
      "Epoch 28, Loss: 0.0127\n",
      "Epoch 28, Loss: 0.4134\n",
      "Epoch 28, Loss: 0.8670\n",
      "Epoch 28, Loss: 0.0341\n",
      "Epoch 28, Loss: 0.0807\n",
      "Epoch 28, Loss: 0.2352\n",
      "Epoch 28, Loss: 0.2333\n",
      "Epoch 28, Loss: 1.2000\n",
      "Epoch 28, Loss: 0.0182\n",
      "Epoch 28, Loss: 0.8135\n",
      "Epoch 28, Loss: 0.0126\n",
      "Epoch 28, Loss: 0.0022\n",
      "Epoch 28, Loss: 0.1050\n",
      "Epoch 28, Loss: 0.0073\n",
      "Epoch 28, Loss: 0.0589\n",
      "Epoch 28, Loss: 0.2144\n",
      "Epoch 28, Loss: 0.2627\n",
      "Epoch 28, Loss: 0.1055\n",
      "Epoch 28, Loss: 0.7922\n",
      "Epoch 28, Loss: 0.7051\n",
      "Epoch 28, Loss: 0.0173\n",
      "Epoch 28, Loss: 0.0238\n",
      "Epoch 28, Loss: 0.0119\n",
      "Epoch 28, Loss: 0.0209\n",
      "Epoch 28, Loss: 0.3883\n",
      "Epoch 28, Loss: 0.6343\n",
      "Epoch 28, Loss: 0.0090\n",
      "Epoch 28, Loss: 0.0014\n",
      "Epoch 28, Loss: 0.0085\n",
      "Epoch 28, Loss: 0.0254\n",
      "Epoch 28, Loss: 0.3525\n",
      "Epoch 28, Loss: 0.0261\n",
      "Epoch 28, Loss: 0.0179\n",
      "Epoch 28, Loss: 0.0249\n",
      "Epoch 28, Loss: 0.0763\n",
      "Epoch 28, Loss: 0.8011\n",
      "Epoch 28, Loss: 0.0264\n",
      "Epoch 28, Loss: 0.5218\n",
      "Epoch 28, Loss: 0.3025\n",
      "Epoch 28, Loss: 0.4732\n",
      "Epoch 28, Loss: 1.0940\n",
      "Epoch 28, Loss: 0.9076\n",
      "Epoch 28, Loss: 0.0772\n",
      "Epoch 28, Loss: 0.2720\n",
      "Epoch 28, Loss: 0.7540\n",
      "Epoch 28, Loss: 0.4087\n",
      "Epoch 28, Loss: 0.7019\n",
      "Epoch 28, Loss: 0.0101\n",
      "Epoch 28, Loss: 0.0178\n",
      "Epoch 28, Loss: 0.0040\n",
      "Epoch 28, Loss: 0.0054\n",
      "Epoch 28, Loss: 0.6171\n",
      "Epoch 28, Loss: 0.0671\n",
      "Epoch 28, Loss: 0.0524\n",
      "Epoch 28, Loss: 0.0352\n",
      "Epoch 28, Loss: 0.7581\n",
      "Epoch 28, Loss: 1.0707\n",
      "Epoch 28, Loss: 0.1354\n",
      "Epoch 28, Loss: 0.7022\n",
      "Epoch 28, Loss: 1.2825\n",
      "Epoch 28, Loss: 0.9494\n",
      "Epoch 28, Loss: 0.7525\n",
      "Epoch 28, Loss: 0.0025\n",
      "Epoch 28, Loss: 0.0107\n",
      "Epoch 28, Loss: 0.7553\n",
      "Epoch 28, Loss: 0.0069\n",
      "Epoch 28, Loss: 0.0433\n",
      "Epoch 28, Loss: 0.3997\n",
      "Epoch 28, Loss: 0.8820\n",
      "Epoch 28, Loss: 0.0362\n",
      "Epoch 28, Loss: 0.7668\n",
      "Epoch 28, Loss: 0.0083\n",
      "Epoch 29, Loss: 1.0920\n",
      "Epoch 29, Loss: 0.1480\n",
      "Epoch 29, Loss: 0.0352\n",
      "Epoch 29, Loss: 0.0212\n",
      "Epoch 29, Loss: 0.0152\n",
      "Epoch 29, Loss: 0.7089\n",
      "Epoch 29, Loss: 0.0211\n",
      "Epoch 29, Loss: 0.5058\n",
      "Epoch 29, Loss: 0.0053\n",
      "Epoch 29, Loss: 0.0069\n",
      "Epoch 29, Loss: 0.7245\n",
      "Epoch 29, Loss: 0.0217\n",
      "Epoch 29, Loss: 0.2461\n",
      "Epoch 29, Loss: 0.2837\n",
      "Epoch 29, Loss: 0.6960\n",
      "Epoch 29, Loss: 0.8748\n",
      "Epoch 29, Loss: 0.5527\n",
      "Epoch 29, Loss: 0.0275\n",
      "Epoch 29, Loss: 0.5246\n",
      "Epoch 29, Loss: 1.2828\n",
      "Epoch 29, Loss: 0.0012\n",
      "Epoch 29, Loss: 0.0007\n",
      "Epoch 29, Loss: 0.6907\n",
      "Epoch 29, Loss: 0.0011\n",
      "Epoch 29, Loss: 0.0008\n",
      "Epoch 29, Loss: 0.0240\n",
      "Epoch 29, Loss: 0.0181\n",
      "Epoch 29, Loss: 1.4874\n",
      "Epoch 29, Loss: 0.0423\n",
      "Epoch 29, Loss: 0.6863\n",
      "Epoch 29, Loss: 0.0087\n",
      "Epoch 29, Loss: 0.1439\n",
      "Epoch 29, Loss: 0.9058\n",
      "Epoch 29, Loss: 0.2923\n",
      "Epoch 29, Loss: 0.0740\n",
      "Epoch 29, Loss: 0.1308\n",
      "Epoch 29, Loss: 0.7477\n",
      "Epoch 29, Loss: 0.9859\n",
      "Epoch 29, Loss: 0.8303\n",
      "Epoch 29, Loss: 0.1475\n",
      "Epoch 29, Loss: 0.5795\n",
      "Epoch 29, Loss: 0.0048\n",
      "Epoch 29, Loss: 0.0062\n",
      "Epoch 29, Loss: 0.6268\n",
      "Epoch 29, Loss: 0.0027\n",
      "Epoch 29, Loss: 0.0276\n",
      "Epoch 29, Loss: 0.0095\n",
      "Epoch 29, Loss: 0.0088\n",
      "Epoch 29, Loss: 0.8205\n",
      "Epoch 29, Loss: 0.4316\n",
      "Epoch 29, Loss: 0.0023\n",
      "Epoch 29, Loss: 0.0021\n",
      "Epoch 29, Loss: 0.0034\n",
      "Epoch 29, Loss: 0.1606\n",
      "Epoch 29, Loss: 1.4644\n",
      "Epoch 29, Loss: 0.0598\n",
      "Epoch 29, Loss: 0.6487\n",
      "Epoch 29, Loss: 0.4733\n",
      "Epoch 29, Loss: 0.0015\n",
      "Epoch 29, Loss: 0.0029\n",
      "Epoch 29, Loss: 0.0029\n",
      "Epoch 29, Loss: 0.7194\n",
      "Epoch 29, Loss: 0.0019\n",
      "Epoch 29, Loss: 0.0086\n",
      "Epoch 29, Loss: 0.0051\n",
      "Epoch 29, Loss: 0.0109\n",
      "Epoch 29, Loss: 0.0060\n",
      "Epoch 29, Loss: 0.7929\n",
      "Epoch 29, Loss: 0.0017\n",
      "Epoch 29, Loss: 0.0372\n",
      "Epoch 29, Loss: 0.0060\n",
      "Epoch 29, Loss: 0.0056\n",
      "Epoch 29, Loss: 0.0020\n",
      "Epoch 29, Loss: 1.3062\n",
      "Epoch 29, Loss: 0.2165\n",
      "Epoch 29, Loss: 0.0385\n",
      "Epoch 29, Loss: 0.8542\n",
      "Epoch 29, Loss: 0.0570\n",
      "Epoch 29, Loss: 0.6989\n",
      "Epoch 29, Loss: 0.0075\n",
      "Epoch 29, Loss: 0.7346\n",
      "Epoch 29, Loss: 0.0099\n",
      "Epoch 29, Loss: 0.0009\n",
      "Epoch 29, Loss: 0.0033\n",
      "Epoch 29, Loss: 0.0018\n",
      "Epoch 29, Loss: 0.0014\n",
      "Epoch 29, Loss: 0.0487\n",
      "Epoch 29, Loss: 0.0701\n",
      "Epoch 29, Loss: 0.1866\n",
      "Epoch 29, Loss: 1.2750\n",
      "Epoch 29, Loss: 1.1940\n",
      "Epoch 29, Loss: 0.0023\n",
      "Epoch 29, Loss: 0.0095\n",
      "Epoch 29, Loss: 0.0061\n",
      "Epoch 29, Loss: 0.0136\n",
      "Epoch 29, Loss: 0.3088\n",
      "Epoch 29, Loss: 0.6631\n",
      "Epoch 29, Loss: 0.0024\n",
      "Epoch 29, Loss: 0.0018\n",
      "Epoch 29, Loss: 0.0027\n",
      "Epoch 29, Loss: 0.0516\n",
      "Epoch 29, Loss: 0.1888\n",
      "Epoch 29, Loss: 0.0058\n",
      "Epoch 29, Loss: 0.0111\n",
      "Epoch 29, Loss: 0.0109\n",
      "Epoch 29, Loss: 0.0036\n",
      "Epoch 29, Loss: 0.6666\n",
      "Epoch 29, Loss: 0.0045\n",
      "Epoch 29, Loss: 0.0075\n",
      "Epoch 29, Loss: 0.0092\n",
      "Epoch 29, Loss: 0.0207\n",
      "Epoch 29, Loss: 1.0927\n",
      "Epoch 29, Loss: 1.1769\n",
      "Epoch 29, Loss: 0.0063\n",
      "Epoch 29, Loss: 0.0122\n",
      "Epoch 29, Loss: 1.0050\n",
      "Epoch 29, Loss: 0.1152\n",
      "Epoch 29, Loss: 0.7237\n",
      "Epoch 29, Loss: 0.0051\n",
      "Epoch 29, Loss: 0.0047\n",
      "Epoch 29, Loss: 0.0026\n",
      "Epoch 29, Loss: 0.0096\n",
      "Epoch 29, Loss: 0.7069\n",
      "Epoch 29, Loss: 0.0162\n",
      "Epoch 29, Loss: 0.0335\n",
      "Epoch 29, Loss: 0.0543\n",
      "Epoch 29, Loss: 0.7571\n",
      "Epoch 29, Loss: 0.6953\n",
      "Epoch 29, Loss: 0.0430\n",
      "Epoch 29, Loss: 0.0706\n",
      "Epoch 29, Loss: 1.0902\n",
      "Epoch 29, Loss: 1.2511\n",
      "Epoch 29, Loss: 0.8162\n",
      "Epoch 29, Loss: 0.0021\n",
      "Epoch 29, Loss: 0.0191\n",
      "Epoch 29, Loss: 0.6551\n",
      "Epoch 29, Loss: 0.0258\n",
      "Epoch 29, Loss: 0.1138\n",
      "Epoch 29, Loss: 0.7641\n",
      "Epoch 29, Loss: 1.0291\n",
      "Epoch 29, Loss: 0.0053\n",
      "Epoch 29, Loss: 0.6867\n",
      "Epoch 29, Loss: 0.0007\n",
      "Epoch 30, Loss: 0.6771\n",
      "Epoch 30, Loss: 0.0039\n",
      "Epoch 30, Loss: 0.0045\n",
      "Epoch 30, Loss: 0.0156\n",
      "Epoch 30, Loss: 0.0246\n",
      "Epoch 30, Loss: 0.7431\n",
      "Epoch 30, Loss: 0.0125\n",
      "Epoch 30, Loss: 0.2790\n",
      "Epoch 30, Loss: 0.0071\n",
      "Epoch 30, Loss: 0.0118\n",
      "Epoch 30, Loss: 0.7225\n",
      "Epoch 30, Loss: 0.0088\n",
      "Epoch 30, Loss: 0.1215\n",
      "Epoch 30, Loss: 0.6205\n",
      "Epoch 30, Loss: 0.5618\n",
      "Epoch 30, Loss: 1.1451\n",
      "Epoch 30, Loss: 0.4535\n",
      "Epoch 30, Loss: 0.0091\n",
      "Epoch 30, Loss: 0.5683\n",
      "Epoch 30, Loss: 0.5404\n",
      "Epoch 30, Loss: 0.0012\n",
      "Epoch 30, Loss: 0.0012\n",
      "Epoch 30, Loss: 0.7838\n",
      "Epoch 30, Loss: 0.0022\n",
      "Epoch 30, Loss: 0.0005\n",
      "Epoch 30, Loss: 0.0055\n",
      "Epoch 30, Loss: 0.0038\n",
      "Epoch 30, Loss: 1.1278\n",
      "Epoch 30, Loss: 0.0093\n",
      "Epoch 30, Loss: 0.6544\n",
      "Epoch 30, Loss: 0.0133\n",
      "Epoch 30, Loss: 0.0182\n",
      "Epoch 30, Loss: 0.8811\n",
      "Epoch 30, Loss: 0.4844\n",
      "Epoch 30, Loss: 0.0138\n",
      "Epoch 30, Loss: 0.1660\n",
      "Epoch 30, Loss: 0.7327\n",
      "Epoch 30, Loss: 1.8411\n",
      "Epoch 30, Loss: 1.1561\n",
      "Epoch 30, Loss: 0.0252\n",
      "Epoch 30, Loss: 0.3393\n",
      "Epoch 30, Loss: 0.0104\n",
      "Epoch 30, Loss: 0.0051\n",
      "Epoch 30, Loss: 0.7383\n",
      "Epoch 30, Loss: 0.0115\n",
      "Epoch 30, Loss: 0.0143\n",
      "Epoch 30, Loss: 0.0114\n",
      "Epoch 30, Loss: 0.0111\n",
      "Epoch 30, Loss: 0.9448\n",
      "Epoch 30, Loss: 0.5287\n",
      "Epoch 30, Loss: 0.0019\n",
      "Epoch 30, Loss: 0.0063\n",
      "Epoch 30, Loss: 0.0087\n",
      "Epoch 30, Loss: 0.1574\n",
      "Epoch 30, Loss: 0.1526\n",
      "Epoch 30, Loss: 0.0830\n",
      "Epoch 30, Loss: 0.3679\n",
      "Epoch 30, Loss: 1.0759\n",
      "Epoch 30, Loss: 0.0027\n",
      "Epoch 30, Loss: 0.0029\n",
      "Epoch 30, Loss: 0.0033\n",
      "Epoch 30, Loss: 0.7673\n",
      "Epoch 30, Loss: 0.0007\n",
      "Epoch 30, Loss: 0.0024\n",
      "Epoch 30, Loss: 0.0027\n",
      "Epoch 30, Loss: 0.0033\n",
      "Epoch 30, Loss: 0.0049\n",
      "Epoch 30, Loss: 0.7750\n",
      "Epoch 30, Loss: 0.0005\n",
      "Epoch 30, Loss: 0.0097\n",
      "Epoch 30, Loss: 0.0045\n",
      "Epoch 30, Loss: 0.0046\n",
      "Epoch 30, Loss: 0.0050\n",
      "Epoch 30, Loss: 0.6880\n",
      "Epoch 30, Loss: 0.0058\n",
      "Epoch 30, Loss: 0.0072\n",
      "Epoch 30, Loss: 0.7397\n",
      "Epoch 30, Loss: 0.0143\n",
      "Epoch 30, Loss: 0.6022\n",
      "Epoch 30, Loss: 0.0156\n",
      "Epoch 30, Loss: 0.7683\n",
      "Epoch 30, Loss: 0.0013\n",
      "Epoch 30, Loss: 0.0005\n",
      "Epoch 30, Loss: 0.0015\n",
      "Epoch 30, Loss: 0.0011\n",
      "Epoch 30, Loss: 0.0007\n",
      "Epoch 30, Loss: 1.0142\n",
      "Epoch 30, Loss: 0.8574\n",
      "Epoch 30, Loss: 0.8869\n",
      "Epoch 30, Loss: 1.2869\n",
      "Epoch 30, Loss: 0.6308\n",
      "Epoch 30, Loss: 0.0021\n",
      "Epoch 30, Loss: 0.0069\n",
      "Epoch 30, Loss: 0.0031\n",
      "Epoch 30, Loss: 0.0072\n",
      "Epoch 30, Loss: 0.4268\n",
      "Epoch 30, Loss: 0.6339\n",
      "Epoch 30, Loss: 0.0025\n",
      "Epoch 30, Loss: 0.0019\n",
      "Epoch 30, Loss: 0.0107\n",
      "Epoch 30, Loss: 0.0978\n",
      "Epoch 30, Loss: 0.3313\n",
      "Epoch 30, Loss: 0.0036\n",
      "Epoch 30, Loss: 0.0050\n",
      "Epoch 30, Loss: 0.0051\n",
      "Epoch 30, Loss: 0.0046\n",
      "Epoch 30, Loss: 0.6627\n",
      "Epoch 30, Loss: 0.0063\n",
      "Epoch 30, Loss: 0.1140\n",
      "Epoch 30, Loss: 0.0939\n",
      "Epoch 30, Loss: 0.1461\n",
      "Epoch 30, Loss: 0.4381\n",
      "Epoch 30, Loss: 0.4435\n",
      "Epoch 30, Loss: 0.0069\n",
      "Epoch 30, Loss: 0.0069\n",
      "Epoch 30, Loss: 0.6043\n",
      "Epoch 30, Loss: 0.5173\n",
      "Epoch 30, Loss: 0.6715\n",
      "Epoch 30, Loss: 0.0054\n",
      "Epoch 30, Loss: 0.0037\n",
      "Epoch 30, Loss: 0.0047\n",
      "Epoch 30, Loss: 0.0050\n",
      "Epoch 30, Loss: 0.7270\n",
      "Epoch 30, Loss: 0.0073\n",
      "Epoch 30, Loss: 0.0096\n",
      "Epoch 30, Loss: 0.0074\n",
      "Epoch 30, Loss: 0.7269\n",
      "Epoch 30, Loss: 0.4767\n",
      "Epoch 30, Loss: 0.0087\n",
      "Epoch 30, Loss: 0.0080\n",
      "Epoch 30, Loss: 1.0770\n",
      "Epoch 30, Loss: 0.7492\n",
      "Epoch 30, Loss: 0.7258\n",
      "Epoch 30, Loss: 0.0024\n",
      "Epoch 30, Loss: 0.0051\n",
      "Epoch 30, Loss: 0.7081\n",
      "Epoch 30, Loss: 0.0186\n",
      "Epoch 30, Loss: 0.0115\n",
      "Epoch 30, Loss: 0.7066\n",
      "Epoch 30, Loss: 0.7366\n",
      "Epoch 30, Loss: 0.0034\n",
      "Epoch 30, Loss: 0.7366\n",
      "Epoch 30, Loss: 0.0030\n"
     ]
    }
   ],
   "execution_count": 9
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T02:26:00.875011Z",
     "start_time": "2025-07-16T02:26:00.872407Z"
    }
   },
   "cell_type": "code",
   "source": "model",
   "id": "a8f839a2c50b5316",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "ZhouyuGPTModel(\n",
       "  (wte): Embedding(109, 128)\n",
       "  (wpe): Embedding(5, 128)\n",
       "  (decoder): Decoder(\n",
       "    (layers): ModuleList(\n",
       "      (0-1): 2 x DecoderLayer(\n",
       "        (layer_norm1): LayerNorm((128,), eps=1e-05, elementwise_affine=True)\n",
       "        (mha): MultiHeadAttention(\n",
       "          (q_proj): Linear(in_features=128, out_features=128, bias=True)\n",
       "          (k_proj): Linear(in_features=128, out_features=128, bias=True)\n",
       "          (v_proj): Linear(in_features=128, out_features=128, bias=True)\n",
       "          (out_proj): Linear(in_features=128, out_features=128, bias=True)\n",
       "        )\n",
       "        (layer_norm2): LayerNorm((128,), eps=1e-05, elementwise_affine=True)\n",
       "        (ff): FeedForward(\n",
       "          (fc1): Linear(in_features=128, out_features=256, bias=True)\n",
       "          (fc2): Linear(in_features=256, out_features=128, bias=True)\n",
       "        )\n",
       "      )\n",
       "    )\n",
       "  )\n",
       "  (layer_norm): LayerNorm((128,), eps=1e-05, elementwise_affine=True)\n",
       "  (lm_head): Linear(in_features=128, out_features=109, bias=True)\n",
       ")"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 10
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T02:26:02.882803Z",
     "start_time": "2025-07-16T02:26:02.862566Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 生成函数\n",
    "def generate(sentence):\n",
    "    tokens = [word2idx[word] for word in sentence]\n",
    "\n",
    "    decoder_inputs = tokens\n",
    "    for _ in range(20):\n",
    "        with torch.no_grad():\n",
    "            output = model(torch.tensor(decoder_inputs[-max_seq_len:]).view(1, -1))\n",
    "            pred_token = output[:, -1, :].argmax().item()\n",
    "            decoder_inputs.append(pred_token)\n",
    "\n",
    "    print(decoder_inputs)\n",
    "    return ''.join([id2word[idx] for idx in decoder_inputs])\n",
    "\n",
    "\n",
    "print(generate(\"独\"))"
   ],
   "id": "fed9769a193d5a54",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[72, 81, 24, 78, 106, 68, 60, 11, 13, 106, 56, 21, 62, 20, 1, 0, 40, 14, 23, 26, 33]\n",
      "独立寒秋，湘江北去，橘子洲头。\n",
      "恰同学少年\n"
     ]
    }
   ],
   "execution_count": 12
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
